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

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

Войти
Регистрация
Восстановить пароль
 
dyosick
 Аватар для dyosick
61 / 61 / 6
Регистрация: 25.08.2008
Сообщений: 178
#1

Нужно разобраться с полученным результатом - C++

23.11.2009, 23:18. Просмотров 321. Ответов 1
Метки нет (Все метки)

Задача состоит в выводе строки задом наперед.
Если запустить первый вариант программы , то выводит вместо букв прямоугольники(или квадратики),количество которых совпадает с количеством букв в слове.
Если запускаю второй вариант, то получаю то, что нужно.

Может проблема моя в " static int i"
Данная задача решается и проще, но я разбираюсь сейчас с рекурсией, потому код слегка извращенный, как для меня

Всем откликнувшимся заранее спасибо!!!
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
#include <iostream>
#include <windows.h>
 
using namespace std;
 
void stringReverse(char []);
 
int main()
{
   const int size=20;  
   char array[size];
   
   SetConsoleOutputCP(1251);
   cout<<"Введите слово : ";
   cin>>array;
   cout<<"\nСлово задом наперед : ";
   stringReverse(array);
   cout<<endl;
   system("pause");
   return 0;
}
 
void stringReverse(char a[])
{  
   static int i=0;  
     
   if(a[i]!='\0')
   {  
      i++;                           
      stringReverse(a);
      cout<<a[i];
   } 
}
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
#include <iostream>
#include <windows.h>
 
using namespace std;
 
void stringReverse(char [],int);
 
int main()
{
   const int size=20;  
   char array[size];
   
   SetConsoleOutputCP(1251);
   cout<<"Введите слово : ";
   cin>>array;
   cout<<"\nСлово задом наперед : ";
   stringReverse(array,0);
   cout<<endl;
   system("pause");
   return 0;
}
 
void stringReverse(char a[],int i)
{ 
   if(a[i]!='\0')
   {                          
      stringReverse(a,i+1);
      cout<<a[i];
   } 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2009, 23:18     Нужно разобраться с полученным результатом
Посмотрите здесь:

C++ нужно разобраться в коде
Нужно разобраться C++
Нужно разобраться с информатикой!!!!! C++
C++ Нужно разобраться с программой
Не состыковка между результатом программы и результатом Excel C++
Нужно разобраться в выделении остатка C++
C++ Нужно разобраться в коде
Нужно разобраться в коде C++
C++ Нужно разобраться в коде
Нужно разобраться с кодом C++
C++ Нужно разобраться с циклом if
C++ Нужно разобраться с указателями

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
manfeese
 Аватар для manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
23.11.2009, 23:25     Нужно разобраться с полученным результатом #2
Цитата Сообщение от dyosick Посмотреть сообщение
Может проблема моя в " static int i"
Само собой! При каждом обращении к функции твоя переменная i равна 0, т.е при выводе на экран походу выводится первый символ
Yandex
Объявления
23.11.2009, 23:25     Нужно разобраться с полученным результатом
Ответ Создать тему
Опции темы

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