В заданной матрице переставить строки с минимальным и максимальным элементом - 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);
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с вводом/выводом (stdio.h).
- Объявление констант n=2 и m=3, которые представляют собой размеры матрицы.
- Объявление двумерного массива A типа int размером n на m.
- Считывание элементов матрицы с помощью функции scanf.
- Инициализация переменных max, nmax, min и nmin значениями первого элемента первой строки матрицы.
- Перебор всех элементов матрицы для нахождения максимального и минимального значения, а также их индексов.
- Обмен значениями строк с минимальным и максимальным элементом.
- Вывод полученной матрицы на экран с помощью функции printf.
- Возврат значения 0, что означает успешный конец работы программы.