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

Вывод строки в обратном порядке - C++

Восстановить пароль Регистрация
 
cin_cout
25 / 25 / 7
Регистрация: 06.10.2012
Сообщений: 119
26.07.2013, 16:08     Вывод строки в обратном порядке #1
Тупень возвращается.
Имеем функцию для чтения массива в обратном порядке. Смысл ясен, но требуются пояснения в деталях.

C++
1
2
3
4
5
6
7
8
9
10
11
 
void print_reverse(char *s)
{
size_t len = strlen(s);
char *t=s + len - 1; // почему мы в правой части выражения к массиву s добавляем уменьшенную на единицу длину //// массива s ? почему мы складываем массив с числом ? 
while (t >= s) { 
printf("%c", *t); 
t = t - 1; 
}
puts("");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2013, 16:08     Вывод строки в обратном порядке
Посмотрите здесь:

C++ Вывод двумерного массива в обратном порядке
C++ Вывод элементов массива в обратном порядке
C++ Вывод предложений в обратном порядке
Вывод символов из файла в обратном порядке C++
Строки (Расположить слова строки в порядке, обратном исходному) C++
Вывод в обратном порядке C++
Вывод слов из предложения в обратном порядке C++
C++ Вывод аргументов printf() в обратном порядке
C++ Вывод строки в обратном порядке (найти ошибки)
Вывод предложения в обратном порядке С++ C++
Вывод слов в обратном порядке C++
C++ Сортировка массива в порядке возрастания и вывод элементов в обратном порядке

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12282 / 6969 / 784
Регистрация: 27.09.2012
Сообщений: 17,282
Записей в блоге: 2
Завершенные тесты: 1
26.07.2013, 16:14     Вывод строки в обратном порядке #2
Цитата Сообщение от cin_cout Посмотреть сообщение
массива s ? почему мы складываем массив с числом ?
И причем тут массив?
Тут указатель. Далее можете покопать в сторону "Арифметика указателей" или подобное направление.
ALEXKIRNAS
10 / 10 / 2
Регистрация: 27.06.2013
Сообщений: 151
26.07.2013, 16:59     Вывод строки в обратном порядке #3
Я написал бы по-другому
C++
1
2
3
4
5
6
7
8
9
10
void print_reverse(char *s)
{
int len = strlen(s)-1;
while (len+1) 
{ 
printf("%c", *(s+len)); 
len--;
}
puts("");
}
Yandex
Объявления
26.07.2013, 16:59     Вывод строки в обратном порядке
Ответ Создать тему
Опции темы

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