Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
1

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

16.01.2013, 02:21. Просмотров 387. Ответов 7
Метки нет (Все метки)

Пользователь вводит элементы двумерного массива. Необходимо поменять порядок строк на противоположный и вывести массив на экран в виде таблицы.
то есть строки:
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";
    }
    
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 02:21
Ответы с готовыми решениями:

Двумерный массив. Поменять местами max и min четных строк
Составить программу на языке C++ для обработки двумерных массивов с...

двумерный масив
мне нужно в задаче все непарные рядки матрицы ссунуть цыклично на К елементов в...

Указатель на двумерный масив
Помогите найти ошибки Условие задачи: сформировать квадратную матрицу...

Не правильно выводит двумерный масив
Мне нужно програму для двумерного масива по такой схеме 1 3 4 10 11 2 5 9 12...

Двумерный масив. Экзамен ребята
Дан масив A . Записать в масив числа так чтобы на главной диагонали были...

7
Fareiro
15 / 15 / 11
Регистрация: 06.12.2012
Сообщений: 131
16.01.2013, 02:22 2
Нужно зеркальное отображение? Делай вывод с конца в начало.
0
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
16.01.2013, 02:39  [ТС] 3
Цитата Сообщение от Fareiro Посмотреть сообщение
Нужно зеркальное отображение? Делай вывод с конца в начало.
можешь сделать пожалст?
0
UserAK
73 / 73 / 13
Регистрация: 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;
        }
    }
1
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
0
UserAK
73 / 73 / 13
Регистрация: 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";
    }
1
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";
    }
}
а как переделать в этом коде?
0
UserAK
73 / 73 / 13
Регистрация: 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;
        }
    }
0
17.01.2013, 16:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2013, 16:08

Заполнить двумерный масив результатами таблицы умножения
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; void main() {...

Перевести одномерный масив 100 элементов в двумерный 10х10
препод дал задачу перевести одномерный масив 100 элементов в двумерный...

Добавление строк в масив строк
Такой вот вопрос как в С++ сделать масив строк(строки статичной длинны), но...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru