С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
paradox_1326
0 / 0 / 3
Регистрация: 17.12.2014
Сообщений: 111
1

Обменять элементы массива на главной диагонали с элементами на побочной диагонали

17.02.2015, 23:12. Просмотров 827. Ответов 3
Метки нет (Все метки)

Всем привет.
Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от 0 до 100.
Обменять местами элементы массива, расположенные на главной диагонали,
с элементами массива, расположенными на побочной диагонали.
Я вот написал но препод говорит что можно пробежаться только построкам...((( я не понимаю.
П.С. Да...и этот код тоже не работает...(((
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
#include<iostream>
#include<ctime>
using namespace std;
void main()
{
    srand((int)time(0));
    const int SIZE = 5;
    int array[SIZE][SIZE];
    int TEMP = 0;
 
    for (int i = 0; i < SIZE; i++)
    {
        for (int j = 0; j < SIZE; j++)
        {
            array[i][j] = rand() % 2;
            cout << array[i][j] << ' ';
            if (i==j)
            {
                TEMP = array[i][j];
                array[i][j] = array[SIZE - 1][SIZE - 1];
                array[SIZE - 1][SIZE - 1] = TEMP;
                
            }
        }
        cout << endl;
    }
    cout << endl;
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2015, 23:12
Ответы с готовыми решениями:

Обменять элементы главной диагонали заданной квадратной матрицы, с элементами её первого столбца
Составить программу обмена в матрице A элементов, находящихся на главной...

Заменить элементы главной диагонали суммами элементов их строк стоящих выше побочной диагонали
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() {...

Вычислить среднее арифметическое побочной диагонали матрицы, и заменить им элементы ниже главной диагонали
Вычислить среднее арифметическое элементов, находящихся на побочной диагонали...

Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и ниже побочной диагонали
Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие...

Заменить элементы главной диагонали матрицы нулями и найти максимальный элемент ниже побочной диагонали
Есть пример для решения другой задачи(она находит суму всех элементов каждой...

3
nmcf
6516 / 5745 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
18.02.2015, 12:54 2
Лучший ответ Сообщение было отмечено Ilot как решение

Решение

C++
1
for (int i = 0; i < SIZE; ++i) std::swap(array[i][i], array[i][SIZE - i - 1]);
0
paradox_1326
0 / 0 / 3
Регистрация: 17.12.2014
Сообщений: 111
19.02.2015, 01:16  [ТС] 3
Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от 0 до 100.
Обменять местами элементы массива, расположенные на главной диагонали,
с элементами массива, расположенными на побочной диагонали.
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
#include<iostream>
#include<ctime>
using namespace std;
void main()
{
    srand((int)time(0));
    const int SIZE = 5;
    int array[SIZE][SIZE];
    int TEMP = 0;
 
    for (int i = 0; i < SIZE; i++)
    {
    
        for (int j = 0; j < SIZE; j++)
        {
            array[i][j] = rand() % 2;
            cout << array[i][j] << ' ';
            if (i == SIZE)
            {
                TEMP = array[i][i];
                array[i][i] = array[i][SIZE - i - 1];
                array[i][SIZE - i - 1] = TEMP;
                cout << array[i][i];
            }
        
        }
        cout << endl;
    }
    cout << endl;
}

Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от 0 до 100.
Поменять местами последний столбец массива со столбцом, в котором находится максимальный элемент.

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>
#include<ctime>
using namespace std;
void main()
{
    srand((int)time(0));
    const int SIZE = 5;
    int array[SIZE][SIZE], MAX = 0,TEMP=0;
 
    for (int i = 0; i < SIZE; i++)
    {
        for (int j = 0; j < SIZE; j++)
        {
            array[i][j] = rand() % 100;
            cout << array[i][j] << ' ';
 
            if (MAX<array[i][j]&&MAX != SIZE)
            {
                    TEMP = array[i][j];
                    array[i][j] = array[i][j - 1];
                    array[i][j - 1] = TEMP;
                    cout << array[i][j] << ' ';
            }
        }
        cout << endl;
    }
    cout << "Maxmalniy element massiva " << MAX << endl;
    cout << endl;
}
0
Kerry_Jr
Эксперт PHP
2211 / 2007 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
19.02.2015, 01:29 4
Цитата Сообщение от paradox_1326 Посмотреть сообщение
C++
1
if (i == SIZE)
Это условие никогда не выполнится. Да и вообще весь блок в этом цикле лишний. Нужно обмен делать в новом цикле. Так же и во втором примере - отдельно заполняете, отдельно обмениваете.

Добавлено через 3 минуты
цикл обмена для первого примера
C++
1
2
3
4
5
6
for (int i = 0, j = SIZE - 1; j >= 0;++i, --j)
{
    TEMP = array[i][i];
    array[i][i] = array[i][j];
    array[i][j] = TEMP;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2015, 01:29

Поменять местами элементы главной и побочной диагонали массива
Поменять местами элементы главной и побочной диагонали массива размерностью 5х5

Обменять местами элементы матрицы, расположенные симметрично относительно главной диагонали
1. Дан двумерный массив размерностью 5х5, заполненный случайными числами из...

Заменить элементы главной и побочной диагоналей матрицы на минимальный элемент ниже главной диагонали
В квадратной матрице А заменить элементы главной и побочной диагоналей на...


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

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

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