Расположить в порядке убывания ненулевые элементы левого нижнего треугольника матрицы - C (СИ)
Формулировка задачи:
Расположить в порядке убывания ненулевые элементы левого нижнего треугольника матрицы.
Пишу в Dev C++
Не могу закончить программу, а именно вывести обратно в матрицу элементы, которые уже расположены по убыванию. Вот что удалось сделать по аналогу задания про матрицу:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main(int argc, char *argv[])
{
int b[6][6],a[36],i,j,l,max,k,n,p;
srand ((unsigned) time ( NULL ));
for (i=0;i<6;i++)
for (j=0;j<6;j++)
b[i][j]=rand()/700-20+10;
printf("Matrica b:");
printf("\n");
for (i=0;i<6;i++)
{for (j=0;j<6;j++)
printf("%6d",b[i][j]);
printf("\n");}
printf("\n");
l=0;
for (i=0;i<6;i++)
for (j=0;j<6;j++)
if ((b[i][j]!=0) & (j<i)){a[l]=b[i][j];l++;}
printf("Matrica a:");
for (i=0;i<l;i++)
printf (" %d",a[i]);
for (i=0;i<l;i++)
{max=a[i];
k=i;
for(p=i+1;p<l;p++)
if(a[p]>max)
{max=a[p];
k=p;}
a[k]=a[i];
a[i]=max;}
printf("\n");
printf("\n");
printf ("Posledovatel'nost' ubivanija: ");
for (i=0;i<l;i++)
printf (" %d",a[i]);
getch();
return 0;
}Решение задачи: «Расположить в порядке убывания ненулевые элементы левого нижнего треугольника матрицы»
textual
Листинг программы
using namespace std;