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

Перевернуть все четные строки матрицы - C++

Восстановить пароль Регистрация
 
Eugene1437
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 10
25.05.2011, 13:29     Перевернуть все четные строки матрицы #1
1.Двумерный массив (Перевернуть все четные строки матрицы.)
2.работа со строками (Удалить каждое четное слово из строки.)
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
25.05.2011, 16:29     Перевернуть все четные строки матрицы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
 
using namespace std;
 
int main(int argc, char* argv[])
{
    const int n = 4;
    const int m = 5;
    int matrix[m][n] = 
    {
        1, 2, 3, 4, 
        5, 6, 7, 8, 
        9, 10, 11, 12,
        13, 14, 15, 16,
        17, 18, 19, 20
    };
 
    int tmp = 0;
 
    for (int i = 0; i < m; i++)
    {
        if ( i % 2)
        {
            for (int j = 0; j < n/2; j++)
            {
                tmp = matrix[i][j];
                matrix[i][j] = matrix[i][n-j-1];
                matrix[i][n-j-1] = tmp;
            }
        }
    }
 
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout << matrix[i][j] << "  ";
        }
        cout << endl;
    }
 
    system("PAUSE");
    return 0;
}
2.
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
#include <iostream>
#include <string>
#include <vector>
 
using namespace std;
 
void Tokenize(const string& str,
              vector<string>& tokens,
              const string& delimiters = " ")
{
    string::size_type lastPos = str.find_first_not_of(delimiters, 0);
 
    string::size_type pos     = str.find_first_of(delimiters, lastPos);
 
    while (string::npos != pos || string::npos != lastPos)
    {
        tokens.push_back(str.substr(lastPos, pos - lastPos));
        lastPos = str.find_first_not_of(delimiters, pos);
        pos = str.find_first_of(delimiters, lastPos);
    }
}
 
int main(int argc, char* argv[])
{
    string str = "There are two needles in this haystack with needles";
 
    vector<string> tokens;
 
    Tokenize(str, tokens);
 
    cout << str << endl;
 
    str.clear();
 
    for (int i = 0; i < tokens.size(); i++)
    {
        if ( i % 2 == 0 )
            str.append(tokens[i]+" ");
    }
 
    cout << str << endl;
 
    system("PAUSE");
    return 0;
}
Eugene1437
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 10
25.05.2011, 16:37  [ТС]     Перевернуть все четные строки матрицы #3
Огромное спасибо
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
25.05.2011, 16:40     Перевернуть все четные строки матрицы #4
Цитата Сообщение от insolent Посмотреть сообщение
string str = "There are two needles in this haystack with needles";
А попробуй подставить сюда другую строку, например "This is a simple test string".
Хотя нет, криво подставил (с лишним пробелом в слове), всё работает .
Eugene1437
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 10
25.05.2011, 16:43  [ТС]     Перевернуть все четные строки матрицы #5
This a test )
Yandex
Объявления
25.05.2011, 16:43     Перевернуть все четные строки матрицы
Ответ Создать тему
Опции темы

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