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

Зеркально развернуть слово в строке. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Итератор для своего контейнерного класса-списка http://www.cyberforum.ru/cpp-beginners/thread207665.html
Здравствуйте. Есть класс List, и мне надо помимо стандартных методов приделать к нему итератор. #include <cstdlib> #include <iostream> #include <string> using namespace std; template <typename universum> class List{ public:
C++ Найти точку на окружности Здравствуйте. Подскажите, пожалуйста. По написанной программе надо найти точку, лежащую на окружности. Было задание :Составить программу по обработке одномерного массива согласно условию: В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в порядке х1,у1,х2,у2,х3,у3 и т.д. Определить кольцо с центром в начале координат,... http://www.cyberforum.ru/cpp-beginners/thread207660.html
Вывести элементы двумерного массива в виде таблицы C++
Знаю как это сделать на Delphi7,paskale!А как на C#
Как включить vector? C++
Собственно как в VS 2010 подключить и объявить vector? #include <vector> void main() { vector <int> test; .... } пишет идентификатор "vector" не определен.
C++ Односвязный список http://www.cyberforum.ru/cpp-beginners/thread207642.html
Доброго времени суток. Помогите, пожалуйста, решить задачу: Реализовать односвязный список, с возможностью его разворота в обратную сторону(первый стал последним, а последний первым). никак не разберусь со списками =\ вообще, беда..
C++ Считалка Формулировка. "Считалка". M человек встали в круг и, начиная с первого, считаются. Выходит каждый K-ый человек. Напишите программу, определяющую все номера людей в порядке их выбывания из круга, также напечатайте состояние «круга» после выбывания человека. Для моделирования «круга» используйте одномерный массив A(M), в котором хранятся номера людей и который постепенно сжимается. Формат... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
02.05.2012, 01:20     Зеркально развернуть слово в строке.
Если без особых заморачиваний на проверку выделений памяти и прочих ньансов, то всё может выглядеть так
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
using namespace std;
 
long lenstr(char * s)//Моя самописная функция подсчёта длинны строки
{
    long i = 0;
    while(s[i] != '\0')
        i = i + 1;
    return i;
}
 
char * revstr(char * s)//Моя самописная функция переворота строки
{
    char buf;
    long len = lenstr(s);
    //Переворачиваем строку в цикле
    for(long i = 0; i < len/2; i++)
    {
        buf = s[i];
        s[i] = s[(len - 1) - i];
        s[(len - 1) - i] = buf;
    }
    return s;
}
 
int main()
{
    system("chcp 1251");
    int i, j, m, sum;
    char ** matrix = NULL;//Указатель на нашу матрицу
    cout<<"Введите число строк в матрице : ";cin>>m;
    matrix = new char * [m];//Выделяем память под строки матрицы
    //Вводим матрицу
    for(i = 0; i < m; i++)
    {
        cin.sync();//Чистим содержимое буфера перед вводом каждой строки
        matrix[i] = new char[256];//Чтобы не заморачиваться делаю строки в матрице по 256 символов
        cout<<"Введите "<<i + 1<<" строку : ";
        cin.getline(matrix[i],256); //Вводим строку
    }
    //Выводим исхожную матрицу + считаем суммы кодов символов в строках
    cout<<"Исходная матрица\n";
    for(i = 0; i < m; i++)
    {
        cout<<matrix[i]<<endl;
        //sum - будет содержать сумму кодов символов строки
        for(sum = j = 0; matrix[i][j] != '\0'; j++)
            sum += matrix[i][j];//Да вот так просто получаются коды символов
        if(sum % 2 == 0)//если сумма оказалась чётной
            //Разворачиваем строку
            matrix[i] = revstr(matrix[i]);
    }
    cout<<"Преобразованная матрица\n";
    for(i = 0; i < m; i++)
    {
        cout<<matrix[i]<<endl;
        //параллельно чистим память
        delete [] matrix[i];
    }
    system("pause");
    return 0;
}
PS:Конечно же существуют стандартные методы определения длинны строк и их реверса к примеру
char * strrev(char * s), но я решил привести код без функций стандартной библиотеки
Миниатюры
Зеркально развернуть слово в строке.  
 
Текущее время: 07:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru