Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 20
1

Вывести буквы в словах строки задом-наперед

31.03.2015, 21:47. Просмотров 1028. Ответов 5
Метки нет (Все метки)

я немного переделал под себя прогу которую сделали чтобы было понятно, у меня она потеряла смысл ,помогите разобраться?
Вот я ввожу:__abc_hfs_al
Должна вывести:__cba_sfh_la
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
#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
char bufRus[256];
char* Rus(const char*text)
{
CharToOem(text, bufRus);
return bufRus;
} 
main()
{
int i,j,t;
int n;
char s[100];
puts(Rus("Введите строку"));
gets(s);
printf(Rus("Исходная строка - %s\n"),s);
n=strlen(s);
i=0;j=0;
while (j<n){
while (i<n && !isalpha(s[i]))
i++;
j=i;
while (j<n && s[j] !=' ')
j++;
t=s[i];
s[i]=s[j-1];
s[j-1]=t;
i = j;
j++;
}
printf("%s", s); 
fflush(stdin);
getchar();
return (0);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2015, 21:47
Ответы с готовыми решениями:

Вывести строку задом наперед
#include &lt;iostream&gt; using namespace std; int main() { int len; char temp; cin&gt;&gt;len; ...

Вывести строку задом наперед
1)Пользователь вводит строку данных программа выводит из нее только цифры. 2)Вывести строку задам...

Вывести последовательность слов задом наперед
Задание: Дана строка, группу букв, разделенных пробелами (одним или больше) будем считать словами....

Чтение строки из файла задом наперед
Нужна ваша помощь. Написал прогу которая выполняет определенные действия, но перед этим требуется...

5
Guardian of Asgaard
376 / 318 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
31.03.2015, 22:11 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main() {
    std::string word;
    
    std::cin >> word;
    
    for ( int i = word.size(); i >= 0; i-- ) {
        std::cout << word[i];
    }
    
    return 0;
}
0
243 / 163 / 133
Регистрация: 30.09.2012
Сообщений: 690
31.03.2015, 22:16 3
C++
1
2
3
4
5
6
7
8
9
10
11
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
    string s1;
    cin >> s1;
    reverse(s1.begin(),s1.end());
    cout << s1;
    return 0;
}
0
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 20
31.03.2015, 22:21  [ТС] 4
Gr1f0nn, там строка наоборот не прокатит пробелы не будут соблюдаться тогда

Добавлено через 46 секунд
Вот писали прогу
как её написать без: s.size,getline(cin, s),using namespace std,swap.Примерно такими ф-ями как у меня в условии исходника
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <algorithm> 
using namespace std;
int main(){
string s;
int i = 0, j = 0;
getline(cin, s);
while (j < s.size()){
while (i<s.size() && !isalpha(s[i]))i++;
j = i;
while (j<s.size() && s[j] != ' ')j++;
swap(s[i], s[j-1]);
i = j,j++;
}
cout « s;
return 0;
}
0
243 / 163 / 133
Регистрация: 30.09.2012
Сообщений: 690
31.03.2015, 22:33 5
wow4ika, Да, пробелы не будут учитываться

Если вам надо вывести строку наоборот и вы используете массив символов, то просто пройдитесь циклом с последнего элемента до первого и выводите каждый элемент.

Если string, то также:

C++
1
2
3
4
for(int i = s.size() ; i>0 ; --i)
{
cout << s[i];
}
Как Boleon предложил в самом начале
0
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 20
31.03.2015, 22:38  [ТС] 6
Gr1f0nn, вот работает все, хорошую программу написал Dimension :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <algorithm> 
using namespace std;
int main(){
string s;
int i = 0, j = 0;
getline(cin, s);
while (j < s.size()){
while (i<s.size() && !isalpha(s[i]))i++;
j = i;
while (j<s.size() && s[j] != ' ')j++;
swap(s[i], s[j-1]);
i = j,j++;
}
cout « s;
return 0;
}
но как её написать без: s.size,getline(cin, s),using namespace std,swap.Примерно такими ф-ями как у меня в условии исходника :
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
#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
char bufRus[256];
char* Rus(const char*text)
{
CharToOem(text, bufRus);
return bufRus;
} 
main()
{
int i,j,t;
int n;
char s[100];
puts(Rus("Введите строку"));
gets(s);
printf(Rus("Исходная строка - %s\n"),s);
n=strlen(s);
i=0;j=0;
while (j<n){
while (i<n && !isalpha(s[i]))
i++;
j=i;
while (j<n && s[j] !=' ')
j++;
t=s[i];
s[i]=s[j-1];
s[j-1]=t;
i = j;
j++;
}
printf("%s", s); 
fflush(stdin);
getchar();
return (0);
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2015, 22:38

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

Вывести строку символов на экран задом наперед
Дана строка символов. Вывести её на экран задом наперед. Использовать библиотеку string.h ...

Вывести вписанное пользователем слово задом наперед
Добрый день нужно вывести,вписанное пользователем слово задом наперед в C++ помогите как можно...

Вывод строки задом наперед через 1 символ
Мне дано задание: 1)Сначала выведите третий символ этой строки. 2)Во второй строке выведите...

Вывести предложение, в котором каждое слово будет задом наперед
Здравствуйте,нужна помощь в решении задачи на С++. Вывести предложение, в котором каждое слово...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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