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

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

Войти
Регистрация
Восстановить пароль
 
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
#1

Не работает программма "перевертыш" - C++

15.02.2012, 22:22. Просмотров 429. Ответов 4
Метки нет (Все метки)

Всем доброго времени суток.
Пока только учусь программированию на с++ и решил написать программу в которую вводиш например "приветмир" а она тебе выдает "римтевирп". Написал код, скомпилировал а она вместо "римтевирп" пишет "Иримтевир".

Вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{ char ch[9],pr[9];
for(int n = 0;n<9;n++){
cin>>ch[n];}
 
for(int n = 0;n<9;n++){
pr[9-n]=ch[n];}
 
for(int n = 0;n<9;n++){
cout<<pr[n];}
  cout<<endl;
  system("PAUSE");  
  return 0;
}
ЗЫ: Прошу зарание не ругать - первый день на форуме.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2012, 22:22     Не работает программма "перевертыш"
Посмотрите здесь:

Классы "Студент" ,"Группа" - не работает метод ввода и вывода - C++
Тема: Классы языка С ++: группа и студент Задание 1. Создайте класс «Группа». - Данные класса - номер группы, специальность,...

Сдающий карты. "cards_remaining--" одинаково работает и с "--", и без - C++
Всем привет, возник вопрос по поводу программы &quot;сдающий карты&quot;, программа с книги &quot;С++ без страха&quot;, автора не помню, не столь важно) Вот...

Не работает setlocale(LC_ALL,"Russian") или Говорим по русски - C++
оператор setlocale(LC_ALL,&quot;Russian&quot;); при проверке одной консольной программы сpp в 3 оболочках C++Builder, CodeBlocks, MS VisualStudio...

Код, приведеном в книге "С++ за 21 дней. Либерти Джесс" не работает - C++
Здравствуйте. Я новичок в деле программировании, так что, пожалуйста, относитесь ко мне к пониманию. Купил книгу &quot;С++ Освой самостоятельно...

Как работает функция "test" в приведенном коде - C++
Объясните как работает функция test #include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include &lt;limits.h&gt; int test(long int a) ...

Не работает функция подсчета количеств букв "а" в словах - C++
Подскажите пожалуйста почему не работает функция подсчета количеств букв &quot;а&quot; в словах. Ничего не выводит. #include &lt;iostream&gt; #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Игорь с++
434 / 457 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
15.02.2012, 22:35     Не работает программма "перевертыш" #2
может так-
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
using namespace std;
int main()
{
    char a[1000];
    int v=0;
              gets(a);
              for(int r=0;r<1000;r++){
if(a[r]!='\0'){v++;}
else{break;}
}
for(int r=v;r>-1;r--){
        cout<<a[r];
        }
cout<<"\n";
system("pause");
 
return 0;
}
ШКІПЕР
94 / 94 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
15.02.2012, 22:57     Не работает программма "перевертыш" #3
cactus09, ну кроме оригинального подхода к решению задания у Вас еще и неотформатированый как нужно текст программы.
Ближе к делу:

C++
1
2
for(int n = 0;n<9;n++){
pr[9-n]=ch[n];}
У Вас есть это. Видимо, для pr счетчик должен идти с конца, так вот, в массиве С++ с 9-ти элементов максимальный индекс будет 8. Почему ? Все просто: нумерация с 0. Поэтому все должно было быть так:
C++
1
2
for(int n = 0;n<9;n++){
pr[8-n]=ch[n];}
Работает! Только для фразы "приветмир".
P.S. Писать подобным образом в наше время не рекомендуется.

Добавлено через 4 минуты
И кстати, вместо
Цитата Сообщение от cactus09 Посмотреть сообщение
for(int n = 0;n<9;n++){ cin>>ch[n];}
иногда пишут
C++
1
cin>>ch;
или
C++
1
scanf("%s", &ch);
Тоже самое с выводом.
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
15.02.2012, 23:02     Не работает программма "перевертыш" #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <algorithm>
#include <string>
 
int main()
{
    std::string Str;
    std::getline(std::cin, Str);
    std::reverse(Str.begin(), Str.end());
    std::cout<<Str<<std::endl;
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2012, 19:46     Не работает программма "перевертыш"
Еще ссылки по теме:

Не работает "Hello world" в CodeGear™ RAD Studio 2009 - C++
Сегодня начал изучать С++. На одном сайте нашёл код для &quot;Hello world!&quot; #include &lt;iostream&gt; using namespace std; int main() { ...

Прокомментируйте оставшиеся строчки, не понимаю как работает "Решето Эратосфена" - C++
#include &lt;iostream&gt; //подключение стандартной библиотеки ввода-вывода using namespace std; //пространство имён. Чтобы писать &quot;cout &lt;&lt;...

Не правильно работает алгоритм вычитания строк при перегрузке оператора "-"(минус) - C++
Написал алгоритм для перегрузки оператора &quot;-&quot; и в принципе все работает корректно, за исключением того, что после присваивания в строках 70...

Структура "Владелец автомобиля". Почему не работает? - C++
25. Дан файл, содержащий сведения о владельцах автомобилей. Структура записи файла: фамилия и инициалы владельца, марка и номер автомобиля....


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

Или воспользуйтесь поиском по форуму:
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
16.02.2012, 19:46  [ТС]     Не работает программма "перевертыш" #5
Всем огромное спасибо за помощ (особенно СПАСИБО ШКІПЕР'у).
Yandex
Объявления
16.02.2012, 19:46     Не работает программма "перевертыш"
Ответ Создать тему
Опции темы

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