Форум программистов, компьютерный форум 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, 11:34     Зеркально развернуть слово в строке.
Но раз уж так хотим работать со словами, то вот как это делается просто
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
63
64
65
66
67
68
69
70
71
72
73
74
#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, long len)//Моя самописная функция переворота строки
{
    char buf;
    //Переворачиваем строку в цикле
    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, k, m, sum;
    bool bWord = true;//Флаг сигнализирующий что найдено начало слова
    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 = k = (j = 0); matrix[i][j] != '\0'; j++)
        {
            if(bWord)
            {
                if(matrix[i][j] == ' ')
                    bWord = false;
                else
                    sum += matrix[i][j];
                if(!bWord && (sum % 2 == 0))//если сумма оказалась чётной
                    revstr(&matrix[i][k], j - k);//Разворачиваем слово в строке
            }
            else
            {
                k   = j;
                sum = 0;
            }
        }
    }
    cout<<"Преобразованная матрица\n";
    for(i = 0; i < m; i++)
    {
        cout<<matrix[i]<<endl;
        //параллельно чистим память
        delete [] matrix[i];
    }
    system("pause");
    return 0;
}
Миниатюры
Зеркально развернуть слово в строке.  
 
Текущее время: 05:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru