Консультация № 150179
11.11.2008, 09:36
0.00 руб.
0 1 1
Приветствую вас уважаемые!!!!!! Так как я новичок в С++ - нужна помощь в написании программы для инверсии символьного массива. В архиве рассылки есть подобные вопросы и ответы на них, но большинство непонятны и некомментированы. Желательно с комментариями. Благодарю.

Обсуждение

Неизвестный
11.11.2008, 10:15
общий
это ответ
Здравствуйте, Uking! Реализация программы в приложении.

I wish you successes!



Приложение:
//Заголовок ввода/вывода
#include <iostream>
//Заголовок для работы со строчными функциями
#include <string.h>
//Заголовок для работы с функцией gets()
#include <cstdio>
using namespace std;

int main()
{
//Функция для поддержки кириллицы
setlocale(LC_CTYPE, "Russian");
//Объявляем символьный массив с размером 100 символов;
char st_mas[100];

cout << " Введите пожалуйста строку >>> ";
//Обеспечение ввода строки с помощью функции gets()
gets(st_mas);

cout << endl << " Введённая строка >>> " << st_mas << endl << endl;
{
//Объявляем две переменные-указателя
char *st, *end;
//Присваиваем указателю адресс начала символьного массива
st = st_mas;
//Присваиваем указателю адресс конца символьного массива
end = &st_mas[strlen(st_mas) - 1];
//Меняем символы местами, пока значение st < end
while(st < end)
{
char temp = *st;
*st = *end;
*end = temp;
//Инкрементируем значение st (т.е. увеличиваем на единицу)
st++;
//Декрементриуем значение end (т.е. уменьшаем на единицу)
end--;
}
}

//Выводим инверсированную строку на экран
cout << " Инверсировання строка >>> " << st_mas << endl << endl;

Форма ответа