Блок-схема алгоритму



Остаточна версія програми
#include <stdio.h>
#include <stdlib.h>
#define n 5
void sort(int a[n][n]);
void dob(int a[n][n]);
void main(void)
{
int i,j,k;
int a[n][n];
system("cls");
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
printf("a[%d][%d] = ", i+1, j+1);
scanf("%d", & a[i][j]);
}
}
system("cls");
printf("Old array :\n");
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
printf("%5d", a[i][j]);
printf("\n");
}
sort(a);
printf("New array :\n");
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
printf("%5d", a[i][j]);
}
printf("\n");
}
printf("\n");
dob (a);
}
void sort(int a[n][n])
{
int i,j,x,k;
for (i=1; i<n; i++)
{
for (j=0; j<n; j++)
{
x=a[i][j];
k=i-1;
while (a[k][j] < x && k>=0)
{
a[k+1][j] = a[k][j];
k--;
}
a[k+1][j] = x;
}
}
}
void dob(int a[n][n])
{
int i,j;
double dob;
for (i=0; i<n; i++)
{
dob=1;
for (j=0; j<=n-i; j++)
{
dob=dob*a[i][j];
}
}
printf("Dobutok elementiv nad dopomiwnoju diagon. %lf \n", dob);
}