ІКТА / КБ-12 / Технології Програмування частина №1 (ТП ч.1) / Лаби (готові) / Варіант №5 / Лабараторна робота № 3 Войтович О.О
.docxМІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
ЗВІТ
до лабораторної роботи №3
з курсу: «Технології програмування »
на тему: «РОБОТА З МАСИВАМИ. ВИКОРИСТАННЯ ФУНКЦІЙ»
Варіант № 5
Виконав: ст. гр. КБ-12
Войтович О.О.
Прийняв: асистент кафедри
захисту інформації
Крет Т.Б.
Львів - 2017
Мета роботи – вивчити синтаксис опису і використання у програмах змінних типу масивів, навчитися використовувати масиви для оброблення матриць, вивчити основні алгоритми сортування масивів; навчитися описувати та застосувати у програмах функції для виконання логічно закінчених алгоритмів.
-
Завдання
Впорядкувати елементи стовпців матриці за зростанням їх значень методом обміну. |
fi(aij) - середнєрифметичне значення елементів у кожному рядку матриці; F(fi(aij)) добуток fi(aij) |
2. Блок-схема алгоритму програми
3. Cписок ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі,
та їх пояснення
mas[i][j] – елементи масиву;
for - цикл з передумовою;
if – умовний оператор;
main() – головна функція;
vvod() – функція зчитування матриці;
vivod() – функція виведення матриці;
boble() – функція сортування;
calc() – функція обчислення середнього арефметичного та їх сума;
printf() – функція виводу даних;
scanf() – функція вводу даних;
4. Текст програми
#include <stdio.h>
int vvod();
int boble();
int sear_p_sum();
int vivod();
int mas[100][100],n=0,m=0; float sa[100],s=0;
int main()
{
scanf ("%i",&n);
scanf ("%i",&m);
vvod();
boble();
sear_p_sum();
vivod();
return 0;
}
int vvod ()
{
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
scanf ("%i",&mas[i][j]);
return 0;
}
int boble ()
{
for (int r=0; r<n; r++)
for (int i=0; i<m-1; i++)
for(int x=0,j=i+1; j<m; j++)
if (mas[r][i]<mas[r][j]) {x=mas[r][i]; mas[r][i]=mas[r][j]; mas[r][j]=x; x=0;}
return 0;
}
int vivod ()
{
for (int i=0; i<n; i++)
{for (int j=0; j<m; j++)
printf ("%i ",mas[i][j]);
printf ("\n");
}
for (int i=0; i<n; i++)
printf ("Seredne arefmetuchne radcka #%i = %lf\n",i+1,sa[i]);
printf("Suma serednih znachen = %lf",s);
return 0;
}
int sear_p_sum ()
{
for (int i=0; i<n; i++)
{for (int j=0; j<m; j++)
sa[i]+=mas[i][j];
sa[i]/=m;
s+=sa[i];
}
return 0;
}
5. Результати роботи програми