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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.61
warspirit
3 / 3 / 0
Регистрация: 30.03.2011
Сообщений: 61
#1

Инверсия строк - C++

17.10.2012, 23:22. Просмотров 2811. Ответов 6
Метки нет (Все метки)

Помогите найти ошибку,почему выводиться строки с лишними символами ?
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
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <string>
 
using namespace std;
 
 
char * reverse(string str)
{
    char * buff = new char[str.length()];
    for(int i = str.length() - 1; i >= 0; i--)
        buff[str.length() - i - 1] = str[i];
    return buff;     
}
 
int main(int argc, char *argv[])
{
   
   char str1[100];
    cin.getline(str1, 100 , '*' );
    cout<<str1;
     std::cout << reverse(str1);
 
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2012, 23:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Инверсия строк (C++):

Инверсия - C++
Всем привет ! как это можно реализовать ? В массиве А инвертировать те его части, которые идут по возрастанию. на входе - 3...

инверсия - C++
Нужно реализовать инверсию связанного списка (однонаправленного) на С++ Посмотрите пожалуйста на мой код, есле не сложно укажите на...

Инверсия - C++
Нужно написать программу, на входе (без клавиатуры) подается a b c на выходе c b a. Сможете кто нибудь написать эту прогу? Прога на C++

Инверсия мыши - C++
Хочу написать программу на С++ для инверсии мыши. скажите как контролировать не координаты курсора на экране а именно перемещение самой...

Инверсия бит - C++
Добрый день. Есть unsigned short int x; Нужно инверсировать все биты в x, например, если x=1001001101 (589), то нужно чтобы...

Инверсия в массиве - C++
Задан массив из k чисел.Определить количество инверсий в массиве(т.е. таких пар элементов,в которых большее число находиться слева от...

6
castaway
Эксперт С++
4919 / 3027 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
17.10.2012, 23:24 #2
Может быть потому что ты в конец '\0' (ноль) не записываешь!? Ты записываешь ноль в конец? Это ты писал!?
0
warspirit
3 / 3 / 0
Регистрация: 30.03.2011
Сообщений: 61
17.10.2012, 23:37  [ТС] #3
как записать в конец '\0' (ноль).
в выше написаном коде
0
castaway
Эксперт С++
4919 / 3027 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
17.10.2012, 23:39 #4
Мм.. Что?
0
Amen
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 3
18.10.2012, 00:12 #5
Цитата Сообщение от lazybiz Посмотреть сообщение
Может быть потому что ты в конец '\0' (ноль) не записываешь!? Ты записываешь ноль в конец? Это ты писал!?
покажи куда (тыкни пальцем) записывать " '\0' "
0
castaway
Эксперт С++
4919 / 3027 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
18.10.2012, 00:18 #6
В функции reverse, в самый конец массива buff ( buff[str.length()] = '\0'; ).
Но для этого тебе необходимо выделить для массива buff на один символ больше ( new char[str.length() + 1]; ).
2
warspirit
3 / 3 / 0
Регистрация: 30.03.2011
Сообщений: 61
18.10.2012, 00:23  [ТС] #7
Цитата Сообщение от lazybiz Посмотреть сообщение
В функции reverse, в самый конец массива buff ( buff[str.length()] = '\0'; ).
Но для этого тебе необходимо выделить для массива buff на один символ больше ( new char[str.length() + 1]; ).
блин,я и забыл,что нужно было увеличить размер массива на 1,перед добавлением ...
0
18.10.2012, 00:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2012, 00:23
Привет! Вот еще темы с ответами:

Инверсия в массиве - C++
Составить программу, которая подсчитывает для каждого из массивов Х и Y количество инверсий в массиве, т.е. таких пар элементов, в которых...

Битовая инверсия - C++
Доброго времени суток! Я что-то запутался с побитовой инверсией. В коде прописываю int a=5; cout&lt;&lt;~a&lt;&lt;endl; Это же...

Побитовая инверсия - C++
Почему выводит 13? int y = -14; cout &lt;&lt; ~y;

Инверсия порядка цифр - C++
Вопрос проще некуда: как записать число &quot;1234&quot; в переменную как &quot;4321&quot;? Есть какие-то 'короткие пути'?


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

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

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