Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
З В І Т
до лабораторної роботи №3
з курсу: «Технології програмування»
на тему: «Робота з масивами. Використання функцій»
Варіант № 1
Львів – 2016
Мета роботи – вивчити синтаксис опису і використання у програмах
змінних типу масивів, навчитися використовувати масиви для оброблення
матриць, вивчити основні алгоритми сортування масивів; навчитися описувати
та застосувати у програмах функції для виконання логічно закінчених алгоритмів.
Завдання
Скласти блок-схему алгоритму та програму мовою Cі згідно ззавданням, отриманим від викладача за табл. 1: задану прямокутну матрицюA={aij} відсортувати за вказаним алгоритмом; для відсортованої матрицізнайти значення функції F(fi(aij)); алгоритм сортування і обчислення fi(aij)оформити у вигляді функції; елементи матриці вводити з клавіатури; програмаповинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значенняфункції F(fi(aij)).
/
2
Блок-схема алгоритму програми
input
3
output
4
Sort
Calc
6
7
main
/
8
Список ідентифікаторів констант, змінних, функцій,
використаних у блок-схемі алгоритму і програмі, та їх пояснення
main( )- головна функція;
printf( )-функція виводу;
scanf()-функція вводу;
for( ) – оператор покрокового циклу;
if( ) – умовний оператор;
sort()- функція сортування;
calc()-функція обрахунку;
mass[n][n]-масив розміром n x n;
input() – функція вводу масива;
output() – функція виводу масива;
9
Текст програми
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define n 5
void sort (int mass[n][n]);
void calc (int mass[n][n]);
void main()
{
int mass[n][n];
int i, j, F;
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
printf("mass[%d][%d] =", i+1, j+1);
scanf("%d", &mass[i][j]);
}
}
printf ("Stariy masiv\n");
for (i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
printf("%d \t", mass[i][j]);
}
printf("\n");
}
printf ("Vidsortovaniy masiv\n");
sort (mass);
for (i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
printf("%d \t", mass[i][j]);
}
printf("\n");
}
printf("calc\n");
calc (mass);
}
void sort (int mass[n][n])
{
int i, j, k=0, b;
for (i=0; i<n; i++)
{
for (j=1; j<n; j++)
{
b=mass[j][i];
k=j-1;
while(mass[k][i]<b&&k>=0)
{
mass[k+1][i]=mass[k][i];
k--;
}
mass[k+1][i]=b;
}
}
}
void calc(int mass[n][n])
{
int i,j,a,f,k, F;
for(i=0; i<n; i++)
{
for(j=0;j<n-1; j++)
{
k =j;
f = mass [i][j];
for(a = j+1; a<n; a++)
{
if(mass[i][a]<f)
{
k = a;
f = mass[i][a];
mass[i][k] = mass[i][j];
mass[i][j] = f;
}
}
}
}
for(i=0;i<n;i++)
{
j=n-1;
printf("Maximalne v %d line of %d\n",i+1,mass[i][j]);
F+=mass[i][j];
}
printf("Summa maksimalnyx chisel:%d \n",F);
}
Результати роботи програми
/
13
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!