Частина тексту файла (без зображень, графіків і формул):
Мета роботи – вивчити синтаксис опису і використання у програмах змінних типу масивів, навчитися використовувати масиви для оброблення матриць, вивчити основні алгоритми сортування масивів; навчитися описувати та застосувати у програмах функції для виконання логічно закінчених алгоритмів.
Завдання
Скласти блок-схему алгоритму та програму мовою Cі згідно з завданням, отриманим від викладача : задану прямокутну матрицю A={aij} відсортувати за вказаним алгоритмом; для відсортованої матриці знайти значення функції F(fi(aij)); алгоритм сортування і обчислення fi(aij) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)).
9
Впорядкувати елементи рядків матриці за зростанням їх значень методом вибору
fi(aij)-сума елементів у кожному стовпці над допоміжною діагоналлю матриці; F(fi(aij))-середнє геометричне значення fi(aij)
44 -2 -5 38 –91
2 0 6 3 22
13 1 -4 90 11
-3 -6 -98 -23 -24
10 34 32 31 69
СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ, ВИКОРИСТАНИХ У БЛОК-СХЕМІ АЛГОРИТМУ І ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ
main() – головна функція;
printf() – функція виведення текстових повідомлень і значень змінних на екран;
scanf() – функція яка зчитує дані з клавіатури та присвоює відповідне значення змінним;
pow(x,y) – функція для піднесення х в степінь у;
i, j, k – змінні типу int для зберігання введених даних та результату роботи програми;
a – масив значень типу int який потрібно впорядкувати;
n – константа типу int яка вказує розмірність масиву а;
s – змінна типу double для зберігання певних значень відповідного типу у функціях;
ТЕКСТ ПРОГРАМИ
#include<stdio.h>#include<stdlib.h>#include<math.h>#define n 5void bul(int a[n][n]);void sum(int a[n][n]);void main(void){int i,j,k;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("staryi massyv\n");for(i=0;i<n;i++){for(j=0;j<n;j++){printf("%5d",a[i][j]);}printf("\n");}bul(a);printf("novyi massyv\n");for(i=0;i<n;i++){for(j=0;j<n;j++){printf("%5d",a[i][j]);}printf("\n");}sum(a);}void bul(int a[n][n]){int i,j,k,x,s;for(i=0;i<n;i++){for(j=0;j<n;j++){k=j;x=a[i][j];for(s=j+1;s<n;s++){if(a[i][s]<x){k=s;x=a[i][s];a[i][k]=a[i][j];a[i][j]=x;}}}}}void sum(int a[n][n]){int f;double F;int j, i;F=1;for(j=0;j<n-1;j++){f=0;for(i=0;i<n;i++){if(i+j<n-1)f=f+a[i][j];}printf("%d \n",f);F=F*pow(abs(f),1.0/n);}printf("%lf",F);}
БЛОК – СХЕМА ГОЛОВНОЇ ФУНКЦІЇ
БЛОК – СХЕМА ФУНКЦІЇ BUL
БЛОК – СХЕМА ФУНКЦІЇ SUM
РЕЗУЛЬТАТ РОБОТИ ПРОГРАМИ
a[1][1] =44
a[1][2] =-2
a[1][3] =-5
a[1][4] =38
a[1][5] =-91
a[2][1] =2
a[2][2] =0
a[2][3] =6
a[2][4] =3
a[2][5] =22
a[3][1] =13
a[3][2] =1
a[3][3] =-4
a[3][4] =90
a[3][5] =11
a[4][1] =-3
a[4][2] =-6
a[4][3] =-98
a[4][4] =-23
a[4][5] =-24
a[5][1] =10
a[5][2] =34
a[5][3] =32
a[5][4] =31
a[5][5] =69
old array
44 -2 -5 38 -91
2 0 6 3 22
13 1 -4 90 11
-3 -6 -98 -23 -24
10 34 32 31 69
new array
-91 -5 -2 38 44
0 2 3 6 22
-4 1 11 13 90
-98 -24 -23 -6 -3
10 31 32 34 69
syma 1 stopca=-193
syma 2 stopca=-2
syma 3 stopca=1
syma 4 stopca=38
ser.geometruchne=11.005068
Висновки
На даній лабораторній роботі я навчилась використовувати зміннні типу масив та користуватися функціями. Я вивчила алгоритми для впорядкування елементів масиву. Внаслідок чого було створено програму для введення, впорядкування, пошуку середнього геометричного та виведення масиву на екран.