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

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

Войти
Регистрация
Восстановить пароль
 
Overloading
6 / 6 / 1
Регистрация: 05.06.2016
Сообщений: 61
#1

Перевернуть строку, в чем ошибка? - C++

24.08.2016, 20:19. Просмотров 304. Ответов 4
Метки нет (Все метки)

Выполните переворот строки, написав её наоборот.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    char str[5];
    char str1[5];
    int j = 0;
    cout<<"Enter str ";
    cin>>str;
    for ( int i = 4; i>=0; i--)
    {
         str1[j] = str[i];
         j++;
    }
    cout<<"\nResult str "<<str<<endl;
    cout<<"Result str1 "<<str1<<endl;
    return 0;
}
А в результате.

Enter str AbcdE

Result str AbcdE
Result str1 EdcbA!╠ <---- Откуда мусор?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2016, 20:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевернуть строку, в чем ошибка? (C++):

Перевернуть строку. В чем проблема? - C++
#include &lt;iostream&gt; using namespace std; void swapstr(char* str) { for(int i=0; i&lt;strlen(str)/2-1;i++) { char...

Перевернуть строку - C++
Написать функцию, которая переставляет символы строки по принципу обмена первого и последнего, второго и предпоследнего и т.д. ...

Перевернуть строку - C++
Данн текст. Необходимо вывести его буквы в обратном порядке. типо ввожу &quot;первое предложение&quot;, а выводится &quot;еинежолдерп еовреп&quot;(можно...

Перевернуть строку - C++
Написал программу которая переворачивает строку #include&lt;iostream&gt; #include&lt;cstring&gt; using namespace std; void reversit(char...

Перевернуть строку - C++
всем привет! помогите, плиз: Введённую с клавиатуры строку А записать в обратном порядке в строку Б. Строку Б вывести на экран.

Строковый тип. Перевернуть строку - C++
Здраствуйте! Задача: ввести строку, перевернуть её, вывести полученную строку. Задачу выполнил частично: переворачивается строка,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Fasterbru
5 / 5 / 2
Регистрация: 18.11.2014
Сообщений: 81
24.08.2016, 20:49 #2
Overloading, у строки в стиле С должен быть "символ конца строки" или '\0'.
cout выводит до '\0' поэтому попадает мусор или ошибка выполнения бывает. string - библиотека строк в стиле C++. вы ее не используете.
0
nd2
2248 / 1819 / 635
Регистрация: 29.01.2016
Сообщений: 5,862
25.08.2016, 05:47 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main ()
{
    char str[25];
    char str1[25];
    int j = 0;
    cout<<"Enter str ";
    cin.getline(str, 25);
    for ( int i = strlen(str) - 1; i >= 0; i--)
    {
         str1[j] = str[i];
         j++;
    }
    str1[j] = '\0';
    cout << "\nResult str " << str << endl;
    cout< < "Result str1 " << str1 << endl;
    
    system("pause");
    return 0;
}
0
Overloading
6 / 6 / 1
Регистрация: 05.06.2016
Сообщений: 61
25.08.2016, 20:08  [ТС] #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string str;
    string str1;
    cout<<"Enter str ";
    getline(cin, str);
    for ( int i = str.length() ; i >= 0; i--)
    {
         str1[i] = str[i];
         cout<<str[i]<<"  "<<str1[i]<<"   i = "<<i<<endl;
    }
    cout<<"\nResult str "<<str<<endl;
    cout<<"Result str1 "<<str1[4]<<str1[3]<<str1[2]<<str1[1]<<str1[0]<<endl;
    cout<<"\nResult str1 "<<str1<<endl;     // А так не выводит?
    return 0;
}
Enter str 12345
Пусто? i = 5
5 5 i = 4
4 4 i = 3
3 3 i = 2
2 2 i = 1
1 1 i = 0

Result str 12345
Result str1 54321

Result str1 <- Не работает ;/
Press any key to continue . . .

Что я делаю не так ?
0
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
26.08.2016, 00:18 #5
У вас кривой компилятор. str1[i] = str[i]; на пустой строке str1 не должен работать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2016, 00:18
Привет! Вот еще темы с ответами:

работа со строками. Перевернуть, заданную пользователем строку, в отдельной функции - C++
задание- перевернуть, заданную пользователем строку, в отдельной функции; написал вот такой код, переворачиваю-&gt; копирую-&gt;вывожу ...

Ввести с клавиатуры строку символов. Перевернуть каждое четное слово в строке. - C++
Есть задание. Ввести с клавиатуры строку символов. После чего Перевернуть каждое четное слово в строке. Могу задать строку вручную как и...

Найти количество простых чисел в массиве. Перевернуть все нечетные строки матрицы. Перевернуть каждое четное слово в строке - C++
Ребята помогите разобраться в коде программы, написав подробные комменты к данной проге. Спасибо! Постановка задачи 1. Используя...

Рекурсия: "перевернуть" строку - C++
помогите пожалуйста написать программу , которая выполняется с помощью рекурсии задание: Дана строка символов, в конце которой стоит...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.08.2016, 00:18
Ответ Создать тему
Опции темы

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