Переделать код, чтобы ещё и внутри строки элементы сортировались по убыванию - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <stdlib.h>
main()
{
int mat[4][9],mas[10],i,j,k,max,m,maxst;
srand(time(NULL));
for (i=0;i<=4;i++)
{
for (j=0;j<=9;j++)
{
mat[i][j]=rand()%100;
}
}
printf(" Pervona4alnaya Matrica \n \n");
for (i=0;i<=4;i++)
{
for (j=0;j<=9;j++) printf(" %d ",mat[i][j]);
printf(" \n");
}
for (i=0;i<=4;i++) mas[i]=0;
for (i=0;i<=4;i++)
{
for (j=0;j<=9;j++)
{
mas[i]+=mat[i][j];
}
}
printf("\n");
for (i=0;i<=4;i++)
{
printf("Summa %d-oi stroki ravna %d ",i+1,mas[i]);
printf("\n");
}
max=0;
for (k=0;k<=4;k++)
{
for (i=0;i<=4;i++)
{
if ((mas[i]>max))
{
max=mas[i];
m=i;
}
}
for (j=0;j<=9;j++)
printf(" %d ", mat[m][j]);
printf("\n");
maxst=max;
max=0;
mas[m]=0;
}
getch();
}Решение задачи: «Переделать код, чтобы ещё и внутри строки элементы сортировались по убыванию»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
main()
{
int mat[5][10],mas[10],i,j,k,max,m,maxst;
int jmax;
srand(time(NULL));
for (i=0;i<=4;i++)
{
for (j=0;j<=9;j++)
{
mat[i][j]=rand()%100;
}
}
printf(" Pervona4alnaya Matrica \n \n");
for (i=0;i<=4;i++)
{
for (j=0;j<=9;j++) printf(" %d ",mat[i][j]);
printf(" \n");
}
for (i=0;i<=4;i++) mas[i]=0;
for (i=0;i<=4;i++)
{
for (j=0;j<=9;j++)
{
mas[i]+=mat[i][j];
}
}
printf("\n");
for (i=0;i<=4;i++)
{
printf("Summa %d-oi stroki ravna %d ",i+1,mas[i]);
printf("\n");
}
max=0;
for (k=0;k<=4;k++)
{
for (i=0;i<=4;i++)
{
if ((mas[i]>max))
{
max=mas[i];
m=i;
}
}
for (j=0;j<=9;j++)
printf(" %d ", mat[m][j]);
printf("\n");
maxst=max;
max=0;
mas[m]=0;
}
//bubbleSort
for(i=0;i<=4;i++){
for(j=0;j<=9;j++){
for(k=9;k>j;k--){
if(mat[i][k]>mat[i][k-1]){ //swap el-ts
m = mat[i][k-1];
mat[i][k-1] = mat[i][k];
mat[i][k] = m;
}
}
}
}
printf(" Sorted!!! \n \n");
for (i=0;i<=4;i++)
{
for (j=0;j<=9;j++) printf(" %d ",mat[i][j]);
printf(" \n");
}
getch();
}
Объяснение кода листинга программы
- Ввод матрицы 5x10 с помощью функции rand()%100.
- Вывод исходной матрицы.
- Нахождение суммы каждой строки и сохранение в отдельном массиве.
- Поиск максимальной суммы и индекса строки с максимальной суммой.
- Сортировка матрицы по убыванию с помощью алгоритма сортировки пузырьком.
- Вывод отсортированной матрицы.