Добавил:
Допоможу чим зможу) Відсигнальте якщо знайшли шось корисне) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
117
Добавлен:
17.12.2017
Размер:
112.48 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»

ІКТА

кафедра ЗІ

ЗВІТ

до лабораторної роботи №3

з курсу: «Технології програмування »

на тему: «РОБОТА З МАСИВАМИ. ВИКОРИСТАННЯ ФУНКЦІЙ»

Варіант № 6

Виконала: ст. гр. КБ-12

Волошин Р. Я.

Прийняв: Викладач Крет Т. Б.

Львів – 2017

Мета роботи – вивчити синтаксис опису і використання у програмах змінних типу масивів, навчитися використовувати масиви для оброблення матриць, вивчити основні алгоритми сортування масивів; навчитися описувати та застосувати у програмах функції для виконання логічно закінчених алгоритмів.

1. Завдання

Скласти блок-схему алгоритму та програму мовою Cі згідно з завданням, отриманим від викладача за табл. 1: задану прямокутну матрицю A={aij} відсортувати за вказаним алгоритмом; для відсортованої матриці знайти значення функції F(fi(aij)); алгоритм сортування і обчислення fi(aij) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)).

Впорядкувати елементи стовпців матриці за зростанням їх значень методом вставки

fi(aij)-середнє геометричне значення елементів у кожному рядку над головною діагоналлю; F(fi(aij))-сума fi(aij)



-задана матриця

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

3. Cписок ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі,

та їх пояснення

a[i][j] – елементи масиву;

fi(aij)-середнє геометричне значення елементів у кожному рядку над головною діагоналлю;

F(fi(aij))-сума fi(aij);

for - цикл з передумовою;

if – умовний оператор;

main() – головна функція;

sort(a) – функція сортування;

calc(a) – функція обчислення середнього геометричного над головною діагоналлю та їх сума;

printf() – функція виводу даних;

scanf() – функція вводу даних;

4. Текст програми

#include<stdio.h>

#include<math.h>

#include<locale.h>

int vvid ();

int vubor();

int summa();

int vuvid();

int ser ();

int main(void)

{

setlocale (LC_ALL, "Rus");

int i, j, k, a;

int m=5,n=5;

static int matrix1[10][10], matrix2[10][10];

int vvid();

{

for (i = 0; i < m; i++)

{

for (j = 0; j < n; j++)

{

printf("a[%d][%d] =", i + 1, j + 1);

scanf("%d", &matrix1[i][j]);

matrix2[i][j] = matrix1[i][j];

}

}

printf("old martix\n");

for (i = 0; i < m; i++)

{

for (j = 0; j < n; j++)

printf("%5d", matrix1[i][j]);

printf("\n");

}

int vubor();{

for (j = 0; j < n; j++)

{

for (i = 0; i < m; i++)

{

for (k = i + 1; k < m; k++)

{

if (matrix2[i][j] > matrix2[k][j])

{

a = matrix2[i][j];

matrix2[i][j] = matrix2[k][j];

matrix2[k][j] = a;

}

}

}

}

}

int vivid();{

printf("\n New matrix \n");

for (i = 0; i < m; i++)

{

for (j = 0; j < n; j++)

{

printf(" %5d", matrix2[i][j]);

}

printf("\n");

}

}

int summa();{

int p=0;

for(i=0; i<1; i++)

{

j=3;

p+=matrix2[i][j];

}

printf ("\n Сума 4 стовпця =%d", p);

int y=0;

for(i=0; i<2; i++)

{

j=2;

y+=matrix2[i][j];

}

printf ("\n Сума 3 стовпця =%d", y);

int t=0;

for(i=0; i<3; i++)

{

j=1;

t+=matrix2[i][j];

}

printf ("\n Сума 2 стовпця =%d", t);

int u=0;

for(i=0; i<3; i++)

{

j=0;

u+=matrix2[i][j];

}

printf ("\n Сума 1 стовпця =%d", u);

double s,sum=0;

for(i=0; i<n; i++ )

{

for (j=0; j<n; j++)

{

sum+=matrix2[i][j];

}

}

sum=sum/(m*n);

printf("\n Середнє арифметичне =%lf" , sum);

}

int ser();{int i,j;

double f;

for (j=0;j<n;j++)

{

f=1.0;

for (i=0;i<n;i++)

{

if (i>j)

{

f*=(fabs(matrix2[i][j]));

}

}

f=pow(f,1.0/(n-j));

printf ("\n Середнє геометричне стовпця %d =%lf\n", j+1,f);

}

}

}

}

5. Результати роботи програм