Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Звіт
по лабораторній роботі №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
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!