0 / 0 / 0
Регистрация: 05.05.2019
Сообщений: 13

Поменять местами строки с максимальным и минимальным элементами массива

10.12.2020, 13:10. Показов 2975. Ответов 2
Метки си (Все метки)

Студворк — интернет-сервис помощи студентам
Ввести двумерный массив А, вывести его. Поменять местами строку содержащую максимальный элементы со строкой содержащей минимальный элемент массива. Если максимум и минимум находятся в одной строке, то заменить эту строку единицами.
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <stdio.h>
#include <math.h>
int main()
{
    int n, m, min, max, maxrow, minrow,x; 
    min= 9999; max= -9999;
    printf ("n= "); scanf ("%d", &n); 
    printf ("m= "); scanf ("%d", &m);
    int i, j, a[n][m];
    for (i=0; i<n; i++)
        for (j=0; j<m; j++)
            {
                printf ("a[%d][%d]= ", i,j); 
                scanf ("%d", &a[i][j]);
            }
    printf ("Изначальный массив= \n");
    for (i=0; i<n; i++)
        {
        for (j=0; j<m; j++)
                printf ("%d  ", a[i][j]);
        printf ("\n");
        }
    for (i=0; i<n; i++)
        for (j=0; j<m; j++)
            {
                if (a[i][j]> max)
                    {
                    max= a[i][j];
                    maxrow= i;
                    }
                if (a[i][j]< min) 
                    {
                    min= a[i][j];
                    minrow= i;
                    }
                x=a[maxrow][j];
                a[maxrow][j]=a[minrow][j];
                a[minrow][j]=x; //заменяет не совсем корректно, вместо  того чтобы поменять 1 и 3 строки, 3 строку ставит на 1, а 1 на 2.
            }
    printf ("\nМаксиммальный эелемент= %d ", max); printf ("max[i]= %d", maxrow); 
    printf ("\nМаксиммальный эелемент= %d ", min); printf ("min[i]= %d", minrow);
    for (i=0; i<n; i++)
        {
        for (j=0; j<m, j++)
            {
            if (minrow==maxrow)
                a[i]=1; //тут выдает ошибку incompatible types in assignment of ‘int’ to ‘int [m]’
            }
        }
    
    printf ("\nИтоговый массив= \n");
    for (i=0; i<n; i++)
        {
        for (j=0; j<m; j++)
                printf ("%d  ", a[i][j]);
        printf ("\n");
        }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.12.2020, 13:10
Ответы с готовыми решениями:

Поменять местами строки с максимальным и минимальным элементами
вот код который определяет мин и макс елементи матрици а мне ище нужно поменять строки етих елементов местами.помогите !!! #include...

Поменять местами строки матрицы с минимальным и максимальным элементами
И снова здравствуйте!))) Помогите пожалуйста нужно написать программу ,в которой пользователь вводит двумерный массив и потом строка с...

Матрица: поменять местами строки с минимальным и максимальным элементами
в данной действительной матрице размером n x m поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей...

2
86 / 43 / 27
Регистрация: 11.11.2020
Сообщений: 69
10.12.2020, 17:29
Лучший ответ Сообщение было отмечено Getvi как решение

Решение

Getvi, почему задание находится в теме "С++", теги С++, но сам код написан на си?

Добавлено через 3 часа 47 минут
Getvi,
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <stdio.h>
#include <stdlib.h>
 
#define N 2
#define M 3
 
int main( void ) {
 
    int arr[ N ][ M ];
 
    printf( "Введите массив: \n" );
    int i, j;
    for ( i = 0; i < N; ++i )
        for ( j = 0; j < M; ++j ) {
            printf( "arr[ %d ][ %d ] = ", i, j );
            scanf( "%d", &arr[ i ][ j ] );
        }
 
    printf( "Исходный массив: \n" );
    for ( i = 0; i < N; ++i ) {
        for ( j = 0; j < M; ++j )
            printf( "%5d", arr[ i ][ j ] );
        printf( "\n" );
    }
 
    int min = arr[ 0 ][ 0 ], max = arr[ 0 ][ 0 ], indexMin, indexMax;
    for ( i = 0; i < N; ++i )
 
        for ( j = 0; j < M; ++j ) {
 
            if ( arr[ i ][ j ] < min ) {
                min = arr[ i ][ j ];
                indexMin = i;
            }
 
            if ( arr[ i ][ j ] > max ) {
                max = arr[ i ][ j ];
                indexMax = i;
            }
        }
 
    if ( indexMin != indexMax )
 
        for ( j = 0; j < M; ++j ) {
 
            int tmp = arr[ indexMax ][ j ];
            arr[ indexMax ][ j ] = arr[ indexMin ][ j ];
            arr[ indexMin ][ j ] = tmp;
        }
 
    else if ( indexMin == indexMax )
 
        for ( j = 0; j < M; ++j )
            arr[ indexMin ][ j ] = 1;
 
    printf( "Итоговый массив: \n" );
    for ( i = 0; i < N; ++i ) {
        for ( j = 0; j < M; ++j )
            printf( "%5d", arr[ i ][ j ] );
        printf( "\n" );
    }
 
    return EXIT_SUCCESS;
}
1
10.12.2020, 17:55

Не по теме:

Цитата Сообщение от kusuoo Посмотреть сообщение
почему задание находится в теме "С++", теги С++, но сам код написан на си?
Для многих людей, понятие Си и С++ является одним и тем же, поэтому могут писать в любой ветке. Например нашли на форуме первее ветку С++ - отлично, будут туда писать задания, как для С++, так и для С. Тоже самое может быть, если первее попадется ветка Си. И вообще, для многих подобные форумы - это своего рода песочницы, с очень похожими темами и названиями.
Все вышесказанное, можно сказать про теги. Могут оборачивать любыми тэгами, или еще хуже, совсем без них.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.12.2020, 17:55
Помогаю со студенческими работами здесь

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

Поменять местами элементы массива с максимальным и минимальным значением
В массиве из 20 вещественных чисел найти и поменять местами элементы с максимальным и минимальным значением. #include &lt;iostream&gt; ...

Для масива 7 на 7 найти строки з максимальным и минимальным елементом и поменять их местами
Для масива 7 на 7 найти строки з максимальным и минимальным елементом и поменять их местами Вот начало, создал масив, а вот как найти...

Поменять в Мемо местами строки с максимальным и минимальным значением
При нажатии на кнопку1 выводится некоторое количество псевдослучайных чисел void __fastcall TForm1::Button1Click(TObject *Sender) { ...

Поменять местами строки с максимальным и минимальным элементами массива
Здравствуйте, у меня вот такая задачка: Поменять местами строки с максимальным и минимальным элементами массива. Нашел минимальный и...


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

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

Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru