Найти в матрице первую строку, все элементы которой упорядочены по возрастанию - C (СИ) (78997)
Формулировка задачи:
Найти в матрице первую строку, все элементы которой упорядочены по возрастанию. Изменить упорядоченность элементов этой строки на обратную.
Вот код:
ПОДСКАЖИТЕ ГДЕ ОШИБКА?
#include <stdio.h> #include <conio.h> void main() { int a[100][100],i,j, m,n,k=0,s,t,x,c,r; printf("vvedite stolbci i stroki: n , m "); scanf("%d%d",&n,&m); for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("a[%d][%d]",i+1,j+1); scanf("%d",&a[i][j]); } } for (i=0;i<n;i++) { for (j=0;j<m;j++) { for (s=0;s<j;s++) { for (r=1;r<j;r++) { if (a[i][s]<a[i][r]) { k++; } } } } if (k==m-1) { printf("stroka %d\n", i+1); for (j=0;j<(m/2);j++) { x=a[i][j]; a[i][j]=a[i][m-1]; a[i][m-1]=x; } break; } } printf("MATRICA: \n"); for (i=0;i<n;i++) { for (j=0;j<m;j++) printf("%d", a[i][j]); printf("\n"); } getch(); }
Решение задачи: «Найти в матрице первую строку, все элементы которой упорядочены по возрастанию»
textual
Листинг программы
#include <stdio.h> #include <conio.h> void main() { int a[100][100],i,j, m,n,k=0,x; printf("vvedite stolbci i stroki: n , m "); scanf("%d%d",&n,&m); for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("a[%d][%d]",i+1,j+1); scanf("%d",&a[i][j]); } } for (i=0;i<n;i++) { for (j=1;j<m;j++) if(a[i][j]<a[i][j-1]) break; if (j==m) { printf("stroka %d\n", i+1); for (j=0;j<(m/2);j++) { x=a[i][j]; a[i][j]=a[i][m-1-j]; a[i][m-1-j]=x; } break; } } printf("MATRICA: \n"); for (i=0;i<n;i++) { for (j=0;j<m;j++) printf("%d ", a[i][j]); printf("\n"); } getch();
Объяснение кода листинга программы
- Ввод количества строк и столбцов матрицы с помощью функции scanf.
- Заполнение матрицы с помощью двух вложенных циклов и функции scanf.
- Проверка на условие, что элементы в строке упорядочены по возрастанию с помощью двух вложенных циклов и условного оператора if.
- Если условие выполняется, то выводится номер строки и с помощью четырех вложенных циклов элементы этой строки переупорядочиваются.
- Вывод матрицы с помощью двух вложенных циклов и функции printf.
- Ввод с клавиатуры с помощью функции getch.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д