Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
/
З В І Т
до лабораторної роботи №3
з курсу: « Технології програмування »
на тему: « Робота з масивами. Використання функцій.»
Варіант № 24
Завдання
Скласти блок-схему алгоритму та програму мовою Cі згідно з завданням, отриманим від викладача за табл.1: задану прямокутну матрицю A={aij} відсортувати за вказаним алгоритмом; для відсортованої матриці знайти значення функції F(fi(aij)); алгоритм сортування і обчислення fi(aij) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)).
/
Блок-схема алгоритму програми
/
Список ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення
a[n][n] – матриця з n рядків і n стовпців;
n – кількість рядків і стовпців матриці;
i – номер рядка масиву, змінна цілого знакового типу;
j – номер стовпця масиву, змінна цілого знакового типу;
o,t,e,s,q– допоміжні змінні цілого знако вого типу;
w- допоміжна змінна типу з плаваючою комою
main() – головна функція;
printf() – функція виводу даних;
scanf() – функція вводу даних;
for – оператор циклу з передумовою;
Текст програми
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define n 5
void b(int a[n][n]);
int main()
{
int i,j,o,t;
int a[n][n];
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]);
}
}
printf("1 \n");
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
printf("%5d", a[i][j]);
printf("\n");
}
for(i=0; i<n; i++)
{
for (o=n-1; o>=0; o--)
{
for (j=0; j<o; j++)
{
if (a[i][j]<a[i][j+1])
{
t=a[i][j];
a[i][j]=a[i][j+1];
a[i][j+1]=t;
}
}
}
}
printf("\n 2 \n");
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
printf("%5d", a[i][j]);
}
printf("\n");
}
double w,s,q;
{
s=0;
q=0;
for(j=0; j<n; j++)
{
for (i=0; i<n; i++)
{
s+=a[i][j];
q++;
}
w=s/q;
printf("ser.znachennia= %lf\n", w) ;
s=0;
q=0;
}
}
double e;
{
e=1;
for(j=0; j<n; j++)
{
for (i=n-1; i<n-j; j--)
{
e*=a[i][j];
}
printf("dobutok= %d\n ", e);
e=1;
}
}
}
Результати роботи
1
10 32 1 -8 -1
2 4 91 -82 96
33 62 -1 -8 0
5 -5 6 -6 7
-19 0 3 -22 -3
2
32 10 1 -1 -8
96 91 4 2 -82
62 33 0 -1 -8
7 6 5 -5 -6
3 0 -3 -19 -22
ser.znachennia= 40.000000
ser.znachennia= 28.000000
ser.znachennia= 1.400000
ser.znachennia= -4.800000
ser.znachennia= -25.200000
dobutok=3.000000
dobutok=0.000000
dobutok=0.000000
dobutok=-190.000000
dobutok=-692736.000000