Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
0 / 0 / 3
Регистрация: 17.12.2014
Сообщений: 111
1

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

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

Author24 — интернет-сервис помощи студентам
Всем привет.
Дан двумерный массив размерностью 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2015, 23:12
Ответы с готовыми решениями:

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

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

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

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

3
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,669
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
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
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
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;
}
2
19.02.2015, 01:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.02.2015, 01:29
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru