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

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

Восстановить пароль Регистрация
 
Neo-N
0 / 0 / 0
Регистрация: 26.04.2011
Сообщений: 7
14.04.2013, 23:50     работа со строками. Перевернуть, заданную пользователем строку, в отдельной функции #1
задание- перевернуть, заданную пользователем строку, в отдельной функции;
написал вот такой код, переворачиваю-> копирую->вывожу
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
34
35
36
37
38
39
40
41
42
43
44
//ex7_1.cpp
//переворачивает строку
#include <iostream>
#include <string>
#include <conio.h>
 
using namespace std;
 
void reversit ( char str[]);
 
int const SAIZE=126;
 
int main ()
{
    char str[SAIZE];
    cin.get(str,SAIZE);
    reversit(str);
    cout << "Pouchennaia stroka" << endl << str ;
    getch();
    return 0;
}
 
void reversit (char str[])
{
    char buff [SAIZE];
    int temp = strlen (str);
 
    for (int i=0; i<=temp/2; i++)
    {
        buff [i]= str [temp-i];
        buff [temp-i]= str [i];
    }
    cout << "---" << endl << buff;
    buff [temp+1]='\0';
    cout << buff;
    for (int i=0; i<=temp; i++)
    {
        str [i]= buff [i];
    }
    str [temp+1]='\0';
    cout << "******" << endl << str;
 
 
}
но строку у меня тупо не выводятся (
знаю что зря создал лишний массив и можно обойтись одной дополнительной переменной, вопрос в том почему не выводятся строки ? заранее спасибо )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 23:50     работа со строками. Перевернуть, заданную пользователем строку, в отдельной функции
Посмотрите здесь:

C++ Работа с файлами: получить заданную строку
Работа со строками (записать в другую строку первое слово и поставить пробел) C++
Работа со строками (вывести на экран введенную строку) C++
C++ Работа со строками ( разбить строку на N заданных частей с помощью strncpy)
Строки и функции пользователя. Преобразовать заданную пользователем дату в формате «дд.мм.гг» в формат «месяц дд, год» C++
Определить в строке количество слов, начинающихся на заданную пользователем букву C++
Работа с динамическим массивом: три варианта инициализации в отдельной функции C++
C++ Написать программу: работа с си строками, функции strlen, strcpy

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pi_X_el
Заблокирован
15.04.2013, 00:01     работа со строками. Перевернуть, заданную пользователем строку, в отдельной функции #2
Цитата Сообщение от Neo-N Посмотреть сообщение
buff [i]= str [temp-i];
Допустим длина строки 10 символов, Тогда
buff[0] = str[10]; // первый символ в этой строке будет '/0'. И C++ посчитает что длина этой строки равна нулю

Добавлено через 2 минуты
'\0'
Neo-N
0 / 0 / 0
Регистрация: 26.04.2011
Сообщений: 7
15.04.2013, 00:10  [ТС]     работа со строками. Перевернуть, заданную пользователем строку, в отдельной функции #3
Цитата Сообщение от pi_X_el Посмотреть сообщение
Допустим длина строки 10 символов, Тогда
buff[0] = str[10]; // первый символ в этой строке будет '/0'. И C++ посчитает что длина этой строки равна нулю

Добавлено через 2 минуты
'\0'
strlen отдает вроде количество символов без учета символа конца строки?

Добавлено через 6 минут
все понял свою ошибку спс )
Yandex
Объявления
15.04.2013, 00:10     работа со строками. Перевернуть, заданную пользователем строку, в отдельной функции
Ответ Создать тему
Опции темы

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