Нужно отсортировать каждый столбец матрицы по спаданию эллементов - C (СИ)

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

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

Только начинаю програмировать и пока не могу разобраться.Нужно отсортировать каждый столбец матрицы по спаданию эллементов, используя указатели

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

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
 
int main(int argc, char** argv[])
{
int i,j,m,n,k;
setlocale(LC_ALL, "RUS");
m=4;
n=4;
int *c;
int A[m][n];
int *Pnt[n][m];
 puts("Исходный массив:");
    for (i = 0; i < m; i++ ){
    for (j=0; j<n; j++){
       A[i][j]=-20 + rand() %80;//заполняем матрицу
       Pnt[i][j]=&A[i][j];//передаем адреса элементов в массив указателей
       }
 for ( j = 0; j < n; j++ ){
printf( "[%d][%d]=%d ", i, j, A[i][j] );
 }
printf("\n");
}
for(k=0;k<n;k++){//сортируем указатели пузырьком
for ( i = 0; i < n-1; i ++ )
 for ( j = n-2; j >= i; j -- )
 if ( *(Pnt[j][k]) < *(Pnt[j+1][k]) )
 {
c =*(Pnt[j][k]); *(Pnt[j][k]) = *(Pnt[j+1][k]);
 *(Pnt[j+1][k]) = c;
 }
}
printf("\nОтсортированный массив:\n");
for(k=0;k<n;k++){
for ( i = 0; i < n; i ++ ){
printf("[%d][%d]=%d ",k,i, *Pnt[k][i]);
}
printf("\n");
}
}

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


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

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

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