Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.75
Sinday
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 7
#1

программа переставляет слова в строке наоборот - C++

09.11.2010, 06:18. Просмотров 2643. Ответов 3
Метки нет (Все метки)

программа переставляет слова в строке наоборот, как ее дописать чтобы она ни слова а буквы переставляла

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define N 20
// ПРЕДВАРИТЕЛЬНОЕ ОБЪЯВЛЕНИЕ ФУНКЦИЙ
// Заголовок программы
void Title();
// Ввод предложения
void InpPredl (char predl[]);
// Выделение из предложения
void Select(const char *predl, char m[][N],char *sel, int *n);
// Сборка предложения
char *Constructor(char slova[][N], char razd[][N], int sl, int rz);
// Вывод результата
void OutPredl(char *s, char *res);
// ОСНОВНАЯ ФУНКЦИЯ
void main()
{
// ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ
char predl[80]; // Введенное предложение
char *res; // Результирующее предложение
char slova[N][N]; // Массив слов в предложении
char razd [N][N]; // Массив разделителей в предложении
int i,sl=-1, rz=-1; // Счетчики слов и разделителей
char *b ="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";// Буквы заглавные
char *r="`!;:,.?-_ "; // Разделительные знаки
// Заголовок программы
Title ();
// Ввод предложения
InpPredl (predl);
// Выделение из предложения слов
Select (predl, slova, r, &sl);
for (i=0;i<=sl;i++) puts(slova[i]);
// Выделение из предложения разделителей
Select (predl, razd, b, &rz);
for (i=0;i<=rz;i++) puts(razd[i]);
// Сборка предложения
res = Constructor(slova, razd, sl, rz);
// Вывод результата
OutPredl (predl, res);
free (res);
}
// ОПИСАНИЕ ИСПЛЬЗУЕМЫХ ФУНКЦИЙ
// Заголовок программы
void Title()
{
puts (" Lab zadanie N 8");
puts (" vo vvedennom pred raspolozhite slova");
puts (" v obratnom poriadke.");
}
// Ввод предложения
void InpPredl(char *s)
{
puts(" vvedite predlozhenie \n");
strcpy (s," verite li vi chto zadacha reshena?");
gets (s);
}
// Вывод результата
void OutPredl (char *s1, char *s2)
{
puts ("Ishodnoe predlozhenie");
puts (s1);
puts (" Rezultat");
puts (s2);
getch ();
}
// Выделение из предложения
void Select(const char *predl, char m[][N], char *sel, int *n)
{
char *p, *s;
s=strdup (predl); // Сделать копию исходного предложения
// так как передается константа, strtok требует
// внесения изменений при своей работе
p = strtok (s, sel);
while (p)
{
(*n)++;
strcpy (m[*n],p);
p = strtok (NULL, sel);
}
free (s);
}
// Сборка предложения
char *Constructor(char slova[][N], char razd[][N], int sl, int rz)
{
int i, j;
char res[80];
char *s;
*res=0; // Начальное значение результата
i = sl;
j=-1;
while ((i>=0)||(j<=rz))
{
if ((i>=0)) strcat (res, slova[i]); // Добавление слова
i--;
j++;
if ((j<=rz)) strcat (res, razd[j]); // Добавление знаков
}
s = strdup (res);
return s;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2010, 06:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос программа переставляет слова в строке наоборот (C++):

Сделать так что б в строке все слова были напечатаны наоборот - C++
Помогите пожайлуста: Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот (зеркально). Я сделал так: ...

Программа, которая строит квадратную матрицу и переставляет её блоки по условию - C++
Составить программу, которая строит квадратную матрицу случайных целых чисел (размером 2n × 2n), выводит ее на экран. А затем поменять...

Программа,которая определяет положение слова в строке - C++
Нужно написать программу,которая принимает строку и слово.Haпример введена строка computer center и слово center,на экран должно быть...

Программа, которая определяет расположены слова в строке в порядке возростания их длины - C++
Помогите пожалуйста с заданием на с++ Есть строка символов. Определить расположены слова в строке в порядке возростания их длины. ...

вывести слова из файлы наоборот - C++
на диске заранее создан файл, в нем записан некоторый текст, необходимо вывести слова текста в обратном порядке вот я написал программу...

Заменить в строке все прописные буквы на строчные, и наоборот - C++
Как можно на С заменить все прописные буквы на строчные. И на оборот?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MikeSoft
Эксперт С++
3799 / 1775 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
09.11.2010, 09:18 #2
Sinday, а может не изобретать велосипед и поступить примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//---------------------------------------------------------------------------
#include <iostream>
//---------------------------------------------------------------------------
int main(int argc, char *argv[])
{
  char sym[256];
  std::cout << "Enter string:" << std::endl;
  std::cin >> sym;
 
  strcpy(sym,strrev(sym));
  std::cout << "Reverse string:" << std::endl << sym << std::endl;
 
  std::system("pause");
  return 0;
}
//---------------------------------------------------------------------------
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
09.11.2010, 14:17 #3
Вот недавно была тема, там на то, что вам надо во всех вариациях)
0
Sinday
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 7
09.11.2010, 20:35  [ТС] #4
я и сам не хочу изобретать велосипед) но у нас препод гемороит по этому поводу, ему надо чтобы прога сначала выделила слова из предложения, потом из этих слов символы и только потом перевернула задом на перед эти символы и собрала результат(((

Добавлено через 4 минуты
вот что надо добавить в мой код чтобы она заработала как надо?((
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2010, 20:35
Привет! Вот еще темы с ответами:

Программа выводящая строку наоборот - C++
Необходимо сделать программу, с функцией, сперва меняющей местами первую и последнюю букву строки, после вторую и т.д. Функция main()...

Программа, которая выводит массив наоборот - C++
Помогите написать программу: Исходными данными являются массив из 10 элементов, заполненный пользователем с клавиатуры. Написать...

При вводе слова выводится результат сколько в нем переходов от гласных к согласным и наоборот - C++
Требуется написать программу в которой будет 2 функции( мейн и ,,,) в которой при ввовде слова будет вовдится результат сколько в нем...

Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот - C++
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним или несколькими пробелами. В конце...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.11.2010, 20:35
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru