Алгоритмічна мова програмування Сі. Робота з масивами. Використання функцій

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

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

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

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

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

Міністерство освіти і науки України Національний Університет “Львівська політехніка” ІКТА Кафедра ЗІ Звіт до лабораторної роботи № 3 з курсу “Алгоритмічні мови і програмування” на тему “ Алгоритмічна мова програмування Сі. Робота з масивами. Використання функцій ” Варіант № 20 Завдання Скласти блок-схему алгоритму та програму мовою Сі згідно з завданням: задану прямокутну матрицю А={аij} відсортувати за вказаним алгоритмом (впорядкувати елементи стовпців матриці за зростанням їх значень методом обміну); для відсортованої матриці знайти значення функції F(fi(aij)) – середнє арифметичне значення fi(aij), де fi(aij) – добуток елементів у кожному рядку над головною діагоналлю; алгоритм сортування і обчислення fi(aij) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)). Список ідентифікаторів, констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі scanf( ) – функція введення даних, відбувається зчитування значень із клавіатури і присвоєння їх змінним вихідної програми ; printf( ) –функція виводу даних; main( ) – головна функція програми. 4) n – константа, яка визначає кількість рядків і стовпців у масиві; 5) i, j – змінні типу int, які використовуються в операторі FOR для опрацювання масиву; 6) ser – середнє арифметичне значення добутків елементів у кожному рядку над головною діагоналлю (типу double); 7) s – сума добутків елементів у кожному рядку над головною діагоналлю (типу double); 8) sort(x) – функція, яка сортує елементи стовпців двовимірного масиву ти пу int за зростанням їх значень методом обміну; 9) dob(x, y) – функція, яка створює одновимірний масив типу int із добутків елементів у кожному рядку над головною діагоналлю двовимірного масиву; 10) a[n][n] – двовимірний масив 5х5; 11) k, c – змінні, значення яких циклічно змінюється. Блок-схема алгоритму головної програми: Блок-схема процедури сортування - + Блок-схема алгоритму функції ++ Програма #include<stdio.h> #include<math.h> #include<stdlib.h> #define n 5 void sort(int a[n][n]); void dob(int d[n-1],int a[n][n]); void main() { int i,j,k; double ser,s; int a[n][n],d[n-1]; system("cls"); 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("Old array\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("%5d",a[i][j]); } printf("\n");} sort(a); printf("New array\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%5d",a[i][j]); printf("\n"); } void sort(int a[n][n]) {int i,j,k,c; for(j=0;j<n;j++) {for(k=n-1;k>=0;k--) {for(i=0;i<k;i++) {if(a[i][j]>a[i+1][j]) {c=a[i][j];a[i][j]=a[i+1][j]; a[i+1][j]=c; }}}}} void dob(int d[n-1],int a[n][n]) {int i,j;for(i=0;i<n-1;i++) d[i]=1; { for(j=i+1;j<n;j++) d[i]=d[i]*a[i][j]; printf("d[%d]=%d\n",d[i]); }} for(i=0;i<n-1;i++) dob(d,a); s=0; for(i=0;i<n-1;i++) s=s+d[i]; ser=s/(n-1); printf("\n Seredne aryfmetychne=%lf",ser); } Результати роботи програми: a[1][1]=19 …ввід матриці…a[5][5]=11 Old array: 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 New array: -3 -8 -45 -6 -22 19 -5 -4 -2 11 23 39 -4 -1 68 36 54 -3 0 84 98 62 96 94 97 d[0]=47520 d[1]=88 d[2]=-68 d[3]=84 Seredne aryfmetychne= 11906 Висновок В даній лабораторній роботі я навчилася працювати з масивами, процедурами, функціями, вивчила основні алгоритми сортування масивів.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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