РОБОТА З МАСИВАМИ. ВИКОРИСТАННЯ ФУНКЦІЙ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2012
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритмічні мови та програмування

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” ІКТА кафедра „ЗАХИСТ ІНФОРМАЦІЇ” ЗВІТ до лабораторної роботи № 6 З КУРСУ “АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ” на тему: РОБОТА З МАСИВАМИ. ВИКОРИСТАННЯ ФУНКЦІЙ Варіант № 20 Мета роботи - вивчити синтаксис опису і використання в програмах змінних типу масив, навчитися використовувати масиви для оброблення матриць, вивчити основні алгоритми сортування масивів; навчитися описувати та застосовувати у програмах процедури і функції для виконання логічно закінчених алгоритмів. 2. ПОВНИЙ ТЕКС ЗАВДАННЯ Скласти блок-схемy алгоритмy та програмy мовою Ci для впорядкування елементів стовпців матриці за спаданням їх значень методом обміну: 0 2 -2 89 21 -1 -4 36 41 71 56 93 51 -2 -51 1 3 -8 0 9 23 41 5 8 -2 Для відсортованої матриці знайти значення функції fi(aij) – середнє геометричне значення елементів в кожному рядку над головною діагоналлю матриці та F(fi(aij)) – сума fi(aij). Обчислення fi(aij) та F(fi(aij)) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)). 3. ОСТАТОЧНА ВЕРСІЯ БЛОК-СХЕМИ АЛГОРИТМУ  Блок-схема функції PrintMas(a)  Блок-схема функції ReadMas(a)  Блок-схема функції Dob(a,k)  Блок-схема функції sArfm(а)  Блок-схема функції SortMas(а)  4. СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ПРОЦЕДУР І ФУНКЦІЙ, ВИКОРИСТАНИХ У ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ a – масив значень типу int який потрібно впорядкувати; n – константа типу int яка вказує розмірність масиву а; tmp – змінна типу int яка використовується для того щоб поміняти два значення елементів масиву а місцями; i, j, k – змінні типу int для зберігання введених даних та результату роботи програми; dob, sg, sum – змінні типу double для зберігання певних значень відповідного типу у функціях; clrscr() – функція очистки екрана яка об’явлена в модулі conio.h; getch() – функція яка чекає натискання будь-якої клавіші; printf() – функція виведення текстових повідомлень і значень змінних на екран; scanf() – функція яка зчитує дані з клавіатури та присвоює відповідне значення змінним; pow(x,y) – функція для піднесення х в степінь у; Користувацькі функції PrintMas(а) – функція яка здійснює вивід матриці а на екран; ReadMas(а) – функція яка зчитує значення введені з клавіатури і поміщає їх у масив а розміру n∙n; SortMas(а) – функція яка впорядковує стовпці матриці а за спаданням їх значень методом обміну; sGeom(а, і) – функція, яка повертає значення типу double яке є середнім геометричним і-того рядка матриці над головною діагоналлю; sum_sGeom(а) – функція яка повертає значення типу double яке є сумою середніх геометричних значень усіх рядків матриці а над головною діагоналлю; 5. ОСТАТОЧНА ВЕРСІЯ ПРОГРАМИ #include <stdio.h> #include <conio.h> #include <math.h> const n=5; //================================================= void PrintMas(int a[n][n]) { for (int i=0;i<n;i++) { for (int j=0;j<n;j++) printf("%4d",a[i][j]); printf("\n"); } } //================================================= void ReadMas(int a[n][n]) { for (int i=0;i<n;i++) for (int j=0;j<n;j++) { printf("a[%d][%d] = ",i,j); scanf("%d",&a[i][j]);} } //================================================= void SortMas(int a[n][n]) { int tmp; for (int k=0;k<n;k++) for (int i=1;i<n;i++) for (int j=n-1;j>=i;j--) if (a[k][j-1]<a[k][j]) { tmp=a[k][j-1]; a[k][j-1]=a[k][j]; a[k][j]=tmp; } } //================================================= long int Dob(int a[n][n],int k) { long int dob=1; for (int i=n-1;i>k;i--) dob*=a[i][k]; return dob; } //================================================= double sArfm(int a[n][n]) { double sum=0,sg; for (int i=0;i<n-1;i++) { sg=Dob(a,i); printf("\nsDob(%d) = %3.0lf",i,sg); sum+=sg; } return sum/(n-1); } //================================================= void main() { int a[n][n]; printf("Vvedit masuv %dx%d elementiv:\n",n,n); ReadMas(a); clrscr(); printf("\nVvedeno masuv:\n\n"); PrintMas(a); SortMas(a); printf("\nVidsortovano masuv:\n\n"); PrintMas(a); printf("\n\nsArfm = %3.2lf",sArfm(a)); getch(); } 6. РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ Vvedeno masuv: 19 62 -45 -1 84 23 54 -4 -2 68 36 39 96 94 97 -3 -8 -4 -6 -22 98 -5 -3 0 11 Vidsortovano masuv: 84 62 19 -1 -45 68 54 23 -2 -4 97 96 94 39 36 -3 -4 -6 -8 -22 98 11 0 -3 -5 sDob(0) = -1939224 sDob(1) = -4224 sDob(2) = 0 sDob(3) = -3 sArfm = -485862.75 7. ВИСНОВОК На даній лабораторній роботі я навчився використовувати змінними типу масив та користуватися функціями. Я вивчив алгоритми для впорядкування елементів масиву. Внаслідок чого було створено програму для введення, впорядкування, пошуку середнього геометричного та виведення масиву на дисплей.
Антиботан аватар за замовчуванням

21.11.2012 15:50

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!