Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Звіт
по лабораторній роботі №3
з курсу
“АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ”
Підготував: ст. гр. СІ- 12
Семенов О.О.
Прийняв: Лагун І. І.
Львів-2010
ЗАВДАННЯ
Скласти блок-схему алгоритму та програму мовою Cі згідно з завданням, отриманим від викладача за табл. 1: задану прямокутну матрицю A={aij} відсортувати за вказаним алгоритмом; для відсортованої матриці знайти значення функції F(fi(aij)); алгоритм сортування і обчислення fi(aij) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)).
№ п/п
Алгоритм впорядкування матриці
Алгоритм для розрахунку fi(aij) та F(fi(aij))
Матриця
21
Впорядкувати елементи стовпців матриці за зростанням їх значень методом вставки
fi(aij)-добуток елементів у кожному рядку під головною діагоналлю матриці; F(fi(aij))-сума fi(aij)
6 34 12 70 -1
-7 97 80 99 -99
1 6 -3 2 -8
3 33 -1 0 -78
-3 -5 -8 -56 -23
Блок-схема алгоритму
Остаточна версія програми
#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<=i; j++)
{
dob=dob*a[i][j];
}
}
printf("Dobutok elementiv pid golov. diagon. %lf \n", dob);
}
Результати роботи програми
Old array:
6 34 12 70 -1
-7 97 80 99 -99
1 6 -3 2 -8
3 33 -1 0 -78
-3 -5 -8 -56 -23
New array:
6 97 80 99 -1
-3 34 12 70 -8
1 33 -1 2 -23
-3 6 -3 0 -78
-7 -5 -8 -56 -99
Dobutok elementiv pid golov. diagon:
-1552320