В заданной матрице переставить строки с минимальным и максимальным элементом - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ребята, написал код а он не работает, хотя вроде все правильно, помогите подредактировать: В заданном двухмерном массиве целых чисел, состоящего с n рядков и m строк, переставить рядки с минимальным и максимальным элементом.
#include <stdio.h>
main()
{
      const int n=2, m=3;
      int A[n][m], i, j, min, max, buf, nmax, nmin;
      for(i=0,i<n,i++)
      for(j=0,j<m,j++)
      scanf("%d %d", &A[n][m]);
      max A[0][0];//ïðèГ*ГЁГ¬Г*ГҐГ¬ Г§Г* Г¬Г*ГЄГ± 1-Г© ýëåìåГ*ГІ
      nmax=0;
      min A[0][0];//ïðèГ*ГЁГ¬Г*ГҐГ¬ Г§Г* ìèГ* ïåðâûé ýëåìåГ*ГІ
      nmin=0;
      for(i=0,i<n,i++)
      {
      if(A[i]>max)
      {
                      max A[i]; 
                      nmax=i;
      }
      if(A[i]<min) 
      {
                   min A[i];
                   nmin=i;
      }
      for(j=0,j<m,j++)
      {
                      buf=A[nmax][j];
                      A[nmax][j]=A[nmin][j];
                      A[nmin][j]=buf;
      }
      printf("A[&d]%[d]=%9d",i,j,A[i][j]);
      getchar(); getchar();
      }

Решение задачи: «В заданной матрице переставить строки с минимальным и максимальным элементом»

textual
Листинг программы
#include <stdio.h>
 
int main(){
    const int n=2, m=3;
    int A[n][m], i, j, min, max, buf, nmax, nmin;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
           scanf("%d", &A[i][j]);
    max=A[0][0];
    nmax=0;
    min=A[0][0];
    nmin=0;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++){
            if(A[i][j]>max){
                max=A[i][j]; 
                nmax=i;
            }
            if(A[i][j]<min){
                min=A[i][j];
                nmin=i;
            }
        }
    for(j=0;j<m;j++){
        buf=A[nmax][j];
        A[nmax][j]=A[nmin][j];
        A[nmin][j]=buf;
    }
    for (i=0;i<n;i++){
        for(j=0;j<m;j++)
            printf("%3d", A[i][j]);
        printf("\n");
    }
return(0);
}

Объяснение кода листинга программы

  1. Подключение стандартной библиотеки для работы с вводом/выводом (stdio.h).
  2. Объявление констант n=2 и m=3, которые представляют собой размеры матрицы.
  3. Объявление двумерного массива A типа int размером n на m.
  4. Считывание элементов матрицы с помощью функции scanf.
  5. Инициализация переменных max, nmax, min и nmin значениями первого элемента первой строки матрицы.
  6. Перебор всех элементов матрицы для нахождения максимального и минимального значения, а также их индексов.
  7. Обмен значениями строк с минимальным и максимальным элементом.
  8. Вывод полученной матрицы на экран с помощью функции printf.
  9. Возврат значения 0, что означает успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы