Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
#1

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

16.01.2013, 02:21. Просмотров 364. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос поменять порядок строк двумерный масив (C++):

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

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

Указатель на двумерный масив - C++
Помогите найти ошибки Условие задачи: сформировать квадратную матрицу А(12х12) вида ...

Двумерный масив. Экзамен ребята - C++
Дан масив A . Записать в масив числа так чтобы на главной диагонали были записаны 1 , а на остальных 0. Язык С++. Заранее благодарю !

Не правильно выводит двумерный масив - C++
Мне нужно програму для двумерного масива по такой схеме 1 3 4 10 11 2 5 9 12 19 6 8 13 18 20 7 14 17 21 24 15 16 22 23 25 А...

Заполнить двумерный масив результатами таблицы умножения - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; void main() { int a; int i,j,s=0,n=0;

7
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 132
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 / 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;
        }
    }
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 / 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";
    }
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 / 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;
        }
    }
0
17.01.2013, 16:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2013, 16:08
Привет! Вот еще темы с ответами:

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

Добавление строк в масив строк - C++
Такой вот вопрос как в С++ сделать масив строк(строки статичной длинны), но чтобы можна было добавить ещё строки?

Масив строк на С - C++
Задача: есть массив из строк. нужно инвертировать его по строкам. например у нас есть строка1, строка2, строка3, строка4, а надо...

Написать программу, которая вводит по строкам с клавиатуры двумерный масив и проводит вычисления - C++
Написать программу, которая вводит по строкам с клавиатуры двумерный масив и вычисляет его элементов по столбцам


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

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

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