0 / 0 / 0
Регистрация: 17.11.2019
Сообщений: 30
1

Найти столбцы максимального элемента и поменять местами столбцы

18.02.2020, 19:07. Показов 909. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В массиве целых чисел найти индекс столбца максимального элемента. Требуется поменять местами первый столбец со столбцом с максимальным индексом и вывести получившийся массив.

Sample Input
3 4
1 2 3 3
4 5 6 3
7 8 9 3

Sample Output
3 2 1 3
6 5 4 3
9 8 7 3

Мой код:
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
#include <stdio.h>
int main(void)
{
    int j, i, n, m, max=0, column, temp, temp2;
    scanf("%d %d", &n, &m);
    int** massiv = new int* [n];
    for (i = 0; i < n; i++)
        massiv[i] = new int[m];
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            scanf("%d", &massiv[i][j]);
        }
    }
 
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            if (massiv[i][j]) {
                if (max < massiv[i][j]) { max = massiv[i][j]; column = j; }
            }
        }
    }
 
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            if (j == 0) { printf("%d ", massiv[column][j]); }
            else if(column == j){ printf("%d ", massiv[0][j]); }
            else { printf("%d ", massiv[i][j]); }
        }
        printf("\n");
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2020, 19:07
Ответы с готовыми решениями:

Отсортировать столбцы матрицы по возрастанию максимального элемента
Нужно заполнить матрицу размером MxN случайными числами (размер вводит пользователь). И...

Отсортировать столбцы матрицы по возрастанию максимального элемента
Нужно заполнить матрицу размером MxN случайными числами (размер вводит пользователь). И...

Поменять заданные столбцы матрицы местами
пользователь вводит матрицу n на m, вывести данную матрицу на экран (ну или чтобы исходник...

Исправить код: Поменять 1 и последний столбцы StringGrid местами
Надо исправить код Задача &quot;Поменять 1 и последний столбцы местами, и все элементы сместятся на 1&quot;...

1
337 / 237 / 103
Регистрация: 26.03.2019
Сообщений: 407
18.02.2020, 22:25 2
Принципиально ошибка только в конце: перепутаны строки и столбцы
C++
1
2
3
if (j == 0) { printf("%d ", massiv[i][column]); }
else if(column == j){ printf("%d ", massiv[i][0]); }
else { printf("%d ", massiv[i][j]); }
Но, я бы еще обратила внимание на то, что max останется нулем, если все числа в массиве отрицательные, т.е. инициализировать лучше так
C++
1
2
max = massiv[0][0];
column = 0;
Ну и задание "поменять местами" думаю, что подразумевает именно поменять, а не вывести в другом порядке, т.е. как-то так:
C++
1
2
3
4
5
6
for (int i = 0; i < n; i++)
{
     int t = massiv[i][0];
     massiv[i][0] = massiv[i][column];
     massiv[i][column] = t;
}
0
18.02.2020, 22:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2020, 22:25
Помогаю со студенческими работами здесь

Для матрицы 6*6 найти столбцы с минимальным и максимальным элементом и поменять их местами
Надо написать на С++ Для матрицы 6*6 найти столбцы с минимальным и максимальным элементом и...

Найти максимальный и минимальный элементы в побочной диагонали и поменять местами столбцы массива
Ввести массив А(7, 7). Найти максимальный и минимальный элементы в побочной диагонали и поменять...

Найти произведение наименьших элементов каждого столбца матрицы и поменять местами 1-й и 3-й столбцы
Посмотрите пожалуйста, почему у меня в 3 столбце минимальный элемент неправильно находит . Вот...

Найти min и max элементы на главной диагонали матрицы и поменять местами соответствующие столбцы
Составить программу поиска минимального и максимального элементов массива расположенных на главной...


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

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

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