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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” ІКТА, кафедра “Захист інформації” ЗВІТ З ЛАБОРАТОРНОЇ РОБОТИ № 6 З КУРСУ “АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ” НА ТЕМУ: “ РОБОТА З МАСИВАМИ. ВИКОРИСТАННЯ ФУНКЦІЙ “ Варіант 23 ЗАВДАННЯ Скласти блок-схему алгоритму та програму мовою Cі згідно з завданням, отриманим від викладача за табл.: задану прямокутну матрицю A={aij} відсортувати за вказаним алгоритмом; для відсортованої матриці знайти значення функції F(fi(aij)); алгоритм сортування і обчислення fi(aij) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)). Алгоритм впорядкування матриці Алгоритм для розрахунку fi(aij) та F(fi(aij)) Матриця  Впорядкувати елементи стовпців матриці за зростанням їх значень методом вставки fi(aij)-сума елементів у кожному рядку над головною діагоналлю матриці; F(fi(aij))-середнє геометричне значення fi(aij) 31 65 –83 -2 -85 9 -2 11 -4 70 52 73 -8 -1 60 57 83 -1 82 50 1 -3 -2 78 -9   Таблиця ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення: a[n][n] Змінна для двовимірного масиву  i,j Змінні для визначення позицій елементів матриці  suma[n-1] Змінна для одновимірного масиву, що містить в собі суму кожного елемента рядка над головною діагоналлю  t,x Тимчасові змінні для сортування матриці  suma Тимчасова змінна для обчислення суми елементів рядка  gm Тимчасова змінна для обчислення середнього геометричного сум  main() Головна функція  sorting() Функція сортування матриці  sum() Функція для обчислення суми елементів рядка над головною діагоналлю  gmean() Функція для обчислення середнього геометричного сум  printf() Функція виведення даних  scanf() Функція введення даних  pow(x,y) Функція для обчислення числа x в степені y   Текст програми мовою C #include<stdio.h> #include<math.h> #define n 5 void sorting(int a[n][n]); int sum(int a[n][n],int i); double gmean(int suma[n-1]); void main(void) { int i,j,a[n][n],suma[n-1]; for (i=0;i<n;i++) for(j=0;j<n;j++) { printf("a[%d][%d]=",i+1,j+1); scanf("%i",&a[i][j]); } printf("\n old array\n"); for (i=0;i<n;i++) { printf("\n"); for(j=0;j<n;j++) printf("%d ",a[i][j]); } sorting(a); printf("\n\n new array \n"); for (i=0;i<n;i++) { printf("\n"); for(j=0;j<n;j++) printf("%d ",a[i][j]); } for (i=0;i<=n-2;i++) { suma[i]=sum(a,i); printf("\n Suma[%d]=%d",i+1,suma[i]); } printf("\n Gmean=%4.2lf",gmean(suma)); } void sorting (int a[n][n]) { int t,i,j,x; { for (t=0;t<=n-1;t++) for(i=1;i<=n-1;i++) { x=a[i][t]; j=i-1; while (a[j][t]>=x && j>=0) { a[j+1][t]=a[j][t]; j=j-1; } a[j+1][t]=x; } } } int sum(int a[n][n],int i) { int suma,x,j; suma=0; for (j=0;j<=n-1;j++) { if(i<j) suma+=a[i][j]; } return suma; } double gmean(int suma[n-1]) { double gm; int i; gm=1; for (i=0;i<=n-2;i++) gm*=suma[i]; return pow(gm,1.0/i); } Результати роботи програми: a[1][1]=31 a[1][2]=65 a[1][3]=-83 a[1][4]=-2 a[1][5]=-85 a[2][1]=9 a[2][2]=-2 a[2][3]=11 a[2][4]=-4 a[2][5]=70 a[3][1]=52 a[3][2]=73 a[3][3]=-8 a[3][4]=-1 a[3][5]=60 a[4][1]=57 a[4][2]=83 a[4][3]=-1 a[4][4]=82 a[4][5]=50 a[5][1]=1 a[5][2]=-3 a[5][3]=-2 a[5][4]=78 a[5][5]=-9 old array 31 65 –83 -2 -85 9 -2 11 -4 70 52 73 -8 -1 60 57 83 -1 82 50 1 -3 -2 78 -9 new array 1 -3 -83 -4 -85 9 -2 -8 -2 -9 31 65 -2 -1 50 52 73 -1 78 60 57 83 11 82 70 Suma[1]=-175 Suma [2]=-19 Suma [3]=49 Suma [4]=60 Gmean=55.92 Висновок: На цій лабораторній роботі я вивчив синтаксис опису і використання у програмах змінних типу масивів, навчився використовувати масиви для оброблення матриць, вивчив основні алгоритми сортування масивів; навчився описувати та застосувати у програмах функції для виконання логічно закінчених алгоритмів.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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