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

поменять порядок строк двумерный масив - C++

Восстановить пароль Регистрация
 
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
16.01.2013, 02:21     поменять порядок строк двумерный масив #1
Пользователь вводит элементы двумерного массива. Необходимо поменять порядок строк на противоположный и вывести массив на экран в виде таблицы.
то есть строки:
0
1
2
3
4
а нужно:
4
3
2
1
0
С++
вот код, но он выводит по порядку, а что бы на оборот не получается
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
#include <iostream>
using namespace std;
void main()
{
    const int Y = 3, X = 4;
    int a[Y][X] = {0};
 
    cout << "Input elements:\n";
    for(int i = 0; i < Y; i++)
    {
        for(int j = 0; j < X; j++)
        {
            cout << "a[" << i << "][" << j << "] = ";
            cin >> a[i][j];
        }
    }
    
    cout << "Result matrix:\n";
    for(int i = 0; i < Y; i++)
    {
        for(int j = 0; j < X; j++)
        {
            cout << a[i][j] << "\t";
            
        }
        cout << "\n\n";
    }
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 02:21     поменять порядок строк двумерный масив
Посмотрите здесь:

C++ двумерный масив
Заполнить двумерный масив результатами таблицы умножения C++
C++ двумерный масив инверсия спирали
Добавление строк в масив строк C++
C++ Двумерный масив. Экзамен ребята
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 130
16.01.2013, 02:22     поменять порядок строк двумерный масив #2
Нужно зеркальное отображение? Делай вывод с конца в начало.
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
16.01.2013, 02:39  [ТС]     поменять порядок строк двумерный масив #3
Цитата Сообщение от Fareiro Посмотреть сообщение
Нужно зеркальное отображение? Делай вывод с конца в начало.
можешь сделать пожалст?
UserAK
70 / 70 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
16.01.2013, 04:39     поменять порядок строк двумерный масив #4
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
void main()
{
    const int Y = 3, X = 4;
    int a[Y][X] = {0};
    cout << "Input elements:\n";
    for(int i = 0; i < Y; i++){
        for(int j = 0; j < X; j++){
            cout << "a[" << i << "][" << j << "] = ";
            cin >> a[i][j];
        }
    }
 
    // переворачивает каждую строчку задом-наперёд
    for(int i = 0; i < Y; i++){
        for(int j1 = 0, j2 = X-1; j1 < j2; j1++, j2--){
            int tmp = a[i][j1];
            a[i][j1] = a[i][j2];
            a[i][j2] = tmp;
        }
    }
 
    cout << "Result matrix:\n";
    for(int i = 0; i < Y; i++){
        for(int j = 0; j < X; j++){
            cout << a[i][j] << "\t";
        }
        cout << "\n\n";
    }
}
Добавлено через 12 минут
вот на всякий случай если надо чтоб
1111
2222
3333
превратилось в
3333
2222
1111
C++
1
2
3
4
5
6
7
8
    // переворачивает каждый столбец вверх тормашками
    for(int j = 0; j < X; j++){
        for(int i1 = 0, i2 = Y-1; i1 < i2; i1++, i2--){
            int tmp = a[i1][j];
            a[i1][j] = a[i2][j];
            a[i2][j] = tmp;
        }
    }
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
16.01.2013, 15:41  [ТС]     поменять порядок строк двумерный масив #5
Цитата Сообщение от UserAK Посмотреть сообщение
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
void main()
{
    const int Y = 3, X = 4;
    int a[Y][X] = {0};
    cout << "Input elements:\n";
    for(int i = 0; i < Y; i++){
        for(int j = 0; j < X; j++){
            cout << "a[" << i << "][" << j << "] = ";
            cin >> a[i][j];
        }
    }
 
    // переворачивает каждую строчку задом-наперёд
    for(int i = 0; i < Y; i++){
        for(int j1 = 0, j2 = X-1; j1 < j2; j1++, j2--){
            int tmp = a[i][j1];
            a[i][j1] = a[i][j2];
            a[i][j2] = tmp;
        }
    }
 
    cout << "Result matrix:\n";
    for(int i = 0; i < Y; i++){
        for(int j = 0; j < X; j++){
            cout << a[i][j] << "\t";
        }
        cout << "\n\n";
    }
}
Добавлено через 12 минут
вот на всякий случай если надо чтоб
1111
2222
3333
превратилось в
3333
2222
1111
C++
1
2
3
4
5
6
7
8
    // переворачивает каждый столбец вверх тормашками
    for(int j = 0; j < X; j++){
        for(int i1 = 0, i2 = Y-1; i1 < i2; i1++, i2--){
            int tmp = a[i1][j];
            a[i1][j] = a[i2][j];
            a[i2][j] = tmp;
        }
    }
а как заменить строки столбцами(двумерный массив(квадратной формы))
вводишь:
1 2 3

4 5 6

7 8 9

после выводит:

1 4 7

2 5 8

3 6 9
UserAK
70 / 70 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
16.01.2013, 17:14     поменять порядок строк двумерный масив #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    const unsigned m = 5; // сторона матрицы
    int a1[m][m] = {{1,2,3,4,5},
                    {1,2,3,4,5},
                    {1,2,3,4,5},
                    {1,2,3,4,5},
                    {1,2,3,4,5}};
 
    // переворачивает вобще повсякому
    for(int s = 1; s < m; s++){
        for(int i = 0, j = s; j < m; i++, j++){
            int tmp = a1[i][j];
            a1[i][j] = a1[j][i];
            a1[j][i] = tmp;
        }
    }
    cout << "Result matrix:\n";
    for(int i = 0; i < m; i++){
        for(int j = 0; j < m; j++){
            cout << a1[i][j] << "   ";
        }
        cout << "\n\n";
    }
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
16.01.2013, 20:39  [ТС]     поменять порядок строк двумерный масив #7
Цитата Сообщение от UserAK Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    const unsigned m = 5; // сторона матрицы
    int a1[m][m] = {{1,2,3,4,5},
                    {1,2,3,4,5},
                    {1,2,3,4,5},
                    {1,2,3,4,5},
                    {1,2,3,4,5}};
 
    // переворачивает вобще повсякому
    for(int s = 1; s < m; s++){
        for(int i = 0, j = s; j < m; i++, j++){
            int tmp = a1[i][j];
            a1[i][j] = a1[j][i];
            a1[j][i] = tmp;
        }
    }
    cout << "Result matrix:\n";
    for(int i = 0; i < m; i++){
        for(int j = 0; j < m; j++){
            cout << a1[i][j] << "   ";
        }
        cout << "\n\n";
    }
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
#include <iostream>
 #include <windows.h>
using namespace std;
void main()
{
SetConsoleOutputCP(1251);
    const int Y = 3, X = 3;
    int a[Y][X] = {0};
    cout << "Заполните двумерный массив:\n";
    for(int i = 0; i < Y; i++){
        for(int j = 0; j < X; j++){
            cout << "a[" << i << "][" << j << "] = ";
            cin >> a[i][j];
        }
    }
 
 
 
 
 
 
 
 
 
 
 
 
 
    cout << "Результат:\n";
    for(int i = 0; i < Y; i++)
    {
        for(int j = 0; j < X; j++)
        {
            cout << a[i][j] << "\t";
        }
        cout << "\n\n";
    }
}
а как переделать в этом коде?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2013, 16:08     поменять порядок строк двумерный масив
Еще ссылки по теме:

C++ Перевести одномерный масив 100 элементов в двумерный 10х10
C++ Указатель на двумерный масив
Двумерный массив. Поменять местами max и min четных строк C++

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

Или воспользуйтесь поиском по форуму:
UserAK
70 / 70 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
17.01.2013, 16:08     поменять порядок строк двумерный масив #8
C++
1
2
3
4
5
6
7
for(int s = 1; s < X; s++){
        for(int i = 0, j = s; j < X; i++, j++){
            int tmp = a[i][j];
            a[i][j] = a[j][i];
            a[j][i] = tmp;
        }
    }
Yandex
Объявления
17.01.2013, 16:08     поменять порядок строк двумерный масив
Ответ Создать тему
Опции темы

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