2 / 2 / 2
Регистрация: 05.10.2011
Сообщений: 97

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

19.12.2011, 23:06. Показов 21985. Ответов 14
Метки нет (Все метки)

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

Добавлено через 3 минуты
как я понимаю нужно узнать через strlen длину строки а потом сделать обратный цикл? как это делается не пойму....
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.12.2011, 23:06
Ответы с готовыми решениями:

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

Вывести строку задом наперед
#include <iostream> using namespace std; int main() { int len; char temp; cin>>len; cin.ignore(); char *str =...

Написать строку задом наперед
помогите пожалуйста отладить, задача написать строку задом наперед. Работает не правильно, что я не так сделал? Вот мой код: void...

14
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
19.12.2011, 23:08
C++
1
2
for (unsigned short int i = str.size() - 1; i >= 0; --i)
    std::cout << str[i];
1
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
19.12.2011, 23:11
http://www.cplusplus.com/refer... y/cstring/
ф-ии реверсирования строк в библиотеке нет. есть ф-ия strlen. если ее использовать, то можно сказать что вы использовали указанную библиотеку. определяете с ее помощью длинну строки и реверсируете. можете посмотреть так же на стандартный алгоритм реверсирования:
http://www.cplusplus.com/refer... m/reverse/
BidirectionalIterator - может быть как итератором если вы используете std::string либо это может быть указатель на символ, если используете массив символов. это указатели на первый символ строки и на символ, следующий за последним (в случае массивов символов это будет указатель на нулл символ)
1
2 / 2 / 2
Регистрация: 05.10.2011
Сообщений: 97
19.12.2011, 23:23  [ТС]
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h> 
#include <time.h>
 
int main ()
{
     char str[20];
     int n=0,i,j;
     puts("vvedite stroku\n");
     gets(str);
     for (i = strlen(str)-1; i >= 0; i--)
        printf("%c",str[i]);
        return 0;
}
спасибо, решил

Добавлено через 5 минут
А во еще впорос, как сделать так что бы при вводе в трочку точки, компилятор прекращал переворачивать элементы задом наеред?

Добавлено через 3 минуты
(((((
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
19.12.2011, 23:26
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string.h>
#include <stdlib.h>
 
int main(int argc, char* argv[])
{
        char buf[BUFSIZ];
 
        std::cin >> buf;
 
        for ( int i = strlen (buf) - 1 ; i >= 0 ; --i )
                std::cout << buf[i];
 
        std::cout<<std::endl;
        std::system ("pause");
        return 0;
}
Добавлено через 35 секунд
Цитата Сообщение от Devil7 Посмотреть сообщение
А во еще впорос, как сделать так что бы при вводе в трочку точки, компилятор прекращал переворачивать элементы задом наеред?
Чего? Как? Пример приведите.
0
2 / 2 / 2
Регистрация: 05.10.2011
Сообщений: 97
19.12.2011, 23:28  [ТС]
когда указано, что задается строка до точки, обрезать строку, отбросив все символы после точки .вот вводим строчку fdaf.afaf нужно что бы компилятор перевернул задом наперед те элементы, которые стоят до точки.
0
204 / 205 / 16
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
19.12.2011, 23:31
1: прервать цикл, если точка и запомнить указатель
2: вывести строку сначала и до позиции точки (включая/невключая).
0
1406 / 648 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
19.12.2011, 23:34

Не по теме:

красотень


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
    std:: string s; std:: cin >> s;
    std:: string::iterator it=s.begin();
 
    while (it!=s.end() & *it!='.') it++;
 
    std:: reverse (s.begin(),it);
    std:: cout << s << "\n";
    system ("pause");
    return 0;
}
1
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
19.12.2011, 23:35
Цитата Сообщение от villu Посмотреть сообщение
1: прервать цикл, если точка и запомнить указатель
2: вывести строку сначала и до позиции точки (включая/невключая).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string.h>
#include <stdlib.h>
 
int main(int argc, char* argv[])
{
        char buf[BUFSIZ];
 
        std::cin >> buf;
 
        for ( char *p =  strchr (buf, '.') ; p != buf && p ; --p )
                std::cout << *(p-1);
 
        std::cout<<std::endl;
        std::system ("pause");
        return 0;
}
1
2 / 2 / 2
Регистрация: 05.10.2011
Сообщений: 97
19.12.2011, 23:44  [ТС]
Вот таким образом он обрезает у меня после точки, но не переворачивает элементы задом наперед.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
int main ()
{
     char str[20];
     int n=0,i,j;
     puts("vvedite stroku\n");
     gets(str);
     for (i =0; i<strlen(str); i++)
     {if(str[i]=='.')
     return 0;
     else printf("%c",str[i]);}
     for (i = strlen(str)-1; i >= 0; i--)
     printf("%c",str[i]);
        return 0;
}
Добавлено через 2 минуты
хотелось бы свой вариант добить до правильного решения.

Добавлено через 5 минут
(((((
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
19.12.2011, 23:45
Цитата Сообщение от Devil7 Посмотреть сообщение
{if(str[i]=='.')
* * * * *return 0;
Нашли точку и вышли из программы. И как же она выведется? Сразу запускайте обратный цикл, а потом уж прерывайте программу.
0
1406 / 648 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
19.12.2011, 23:46
в ифе return 0 на break замените, вывод в последне for сделайте не от длины строки, а от позиции, на которой закончили, А затем выведите от длины строки до i
0
2 / 2 / 2
Регистрация: 05.10.2011
Сообщений: 97
20.12.2011, 00:02  [ТС]
.....

Добавлено через 4 минуты
про break понял, а про позицию нет(
0
1406 / 648 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
20.12.2011, 00:04
в общем поэксперементируйте.
а что я написал: от i до 0 выводите, а потом от длины строки до i (только там там еще немного доработать надо)
0
0 / 0 / 0
Регистрация: 30.01.2018
Сообщений: 29
09.03.2018, 20:34
А как после этого полученную строку записать в txt файл?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.03.2018, 20:34
Помогаю со студенческими работами здесь

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

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

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

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

Вывести строку на экран задом наперёд
Дана строка символов до точки. Вывести её на экран задом наперёд


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

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

Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru