Показать сообщение отдельно
Старый 21.11.2019, 10:53   #1 (permalink)
Andrey_1998
Новичок
 
Регистрация: 21.11.2019
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Работа с матрицами в С

Здравствуйте. Помогите, пожалуйста, с задачей: Проверить упорядочены ли элементы столбцов матрицы. Если нет, то упорядочить их в порядке возрастания методом просеивания.
Вот мой исходный код, но у меня там ничего не сортирует:
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
int main ()
{
int a[10][10];
int i, j, n, m, r, k, p;
printf ("Vvedite razmer matrici n=");
scanf ("%d", &n);
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
printf("a[%d][%d]=", i, j);
scanf("%d", &a[i][j]);
}
for (i = 0; i < n; i++)
{
k = p = 0;
for (j = 0; j < n - 1; j++)
if (a[i][j] <= a[i][j + 1])
k++;
else
p++;
if (k != n - 1 && p != n - 1)
{
for (i=0;i<=n-2;i++)
if (a[i][j]>a[i+1][j])
{
r=a[i][j];
a[i][j]=a[i+1][j];
a[i+1][j]=r;
j=i;
while (a[i][j]<a[i][j-1]&&j>0)
{
r=a[i][j];
a[i][j]=a[i][j-1];
a[i][j-1]=r;
j=j-1;
}
}
}
}
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
printf("%2d", a[i][j]);
printf("\n");
}
}
Andrey_1998 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070