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

Нужно в предложении каждое слово вывести наоборот - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ как правильно написать? http://www.cyberforum.ru/cpp-beginners/thread813152.html
Вывести в двоичный файл Phone.rez все абонентов номера которых начинаются числом 25. Написать программу, которая считывает из файла Phone.rez данные и выводит в файл Phone.sol абонентов с данным фамилией (фамилия вводится с клавиатуры) C++,пример ...номера которых начинаються на 25
C++ Вычислить значение выражения x1xn + x2xn-1+…+ xnx1. Значения x вводятся с клавиатуры и динамически размещаются в памяти Вычислить значение выражения x1xn + x2xn-1+…+ xnx1. Значения x вводятся с клавиатуры и динамически размещаются в памяти. Помогите со списками http://www.cyberforum.ru/cpp-beginners/thread813139.html
String questin C++
Имеется переменная типа string, допустим "string x", которой ничего не присвоено. Возможно, программа заполнит её какими-то данными, а возможно и нет. Вопрос: можно ли задать условие для оператора if: "если в x не имеется данных, то..." Если да, то как?
Написать программу, которая пишет для содержимого файла его копию. C++
Написать программу, которая пишет для содержимого файла его копию.
C++ Замена всех малых букв http://www.cyberforum.ru/cpp-beginners/thread813108.html
Написать программу, которая заменяет все малые латинские буквы в файле соответствующими крупными, авсе крупные - соответствующими малыми. Указание. Вместо номеров байтов возвращаются с вызоваf.tellg (), воспользоваться сдвигами относительно текущего доступного байта ios :: cur.
C++ Вывести массив Вывести массив целых чисел в файл, не превращая целые значения на константы. дляпроверки очистить массив, ввести в него содержимое файла и вывести цели константы на экран.Указание. Воспользоваться двоичным режимом и методами write и read. Имя массива в вызовахэтих методов преобразовать к типу char *. подробнее

Показать сообщение отдельно
Enpsydi
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 16

Нужно в предложении каждое слово вывести наоборот - C++

19.03.2013, 21:45. Просмотров 1331. Ответов 7
Метки (Все метки)

Т.е. дано, к примеру, предложение (любые символы разделенные пробелами): ab cd ef, программа должна вывести ba dc fe.
Вот я написал код, протестировал, ошибок невыдает, но выводит только первое слово наоборот, а про остальные забывает...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
...
/*Уже существует строка bup. Здесь кусок программы, который должен был записать слова
 наоборот */
k=0;
for (i=0;i<=j-1;i++) // j - длина строки bup, поэтому j-1, чтобы не выйти за массив
{
   if (bup[i]==' ')
   {for (j=i-1;j>=k;j--)
   cout<<bup[j];
   k=i+1; // k - флаг, до которого будут выводиться символы от следующего пробела
   }
}
...
Вообще, по моей задумке, должно было быть так:
Выполняетя основной цикл, где идет проверка для каждого символа в предложении
{ Если программа находит пробел, то
{
Этот цикл начинает выводить каждый символ начиная с символа ДО пробела, заканчивая символом под индексом k (в первый раз k=0, затем изменяется и принимает значение следующего индекса, где расположен пробел)
}
}
Весь код здесь:
Кликните здесь для просмотра всего текста
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
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<iomanip.h>
#include<stdio.h>
 
void main ()
{
clrscr();
char str [80], bup[80];
int i,j=0,sch[80],l;
cout<<"Vvedite predlogenie\n";
gets(str);
int dl_str=strlen(str);
 
for (i=dl_str-1;i>=0;i--)
{bup[j]=str[i];
j++;}
bup[j]='\0';
j=strlen(bup);
cout<<"J = "<<j<<"\n";
 
cout<<"\nPromegutochnii rezultat:\n";
for (i=0;i<j;i++)
cout<<"Bup["<<i<<"] = "<<bup[i]<<"\n";
cout<<"\nI = "<<i<<"\n";
int k=0;
 
for (i=0;i<=j-1;i++)
{
   if (bup[i]==' ')
   {for (j=i-1;j>=k;j--)
   cout<<bup[j];
   k=i+1;
   }
}
 
getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru