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

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

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

Рік:
2005
Тип роботи:
Лабораторна робота
Предмет:
Алгоритмічні мови і програмування
Група:
МЕ

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” ІКТА Кафедра “Автоматика та телемеханiка”  АЛГОРИТМІЧНА МОВА ПРОГРАМУВАННЯ Сі РОБОТА З МАСИВАМИ. ВИКОРИСТАННЯ ФУНКЦІЙ ЛАБОРАТОРНА РОБОТА № 3 Варіант 15 Мета роботи – вивчити синтаксис опису і використання у програмах змінних типу масивів, навчитися використовувати масиви для оброблення матриць, вивчити основні алгоритми сортування масивів; навчитися описувати та застосувати у програмах функції для виконання логічно закінчених алгоритмів. ЗАВДАННЯ Скласти блок-схему алгоритму та програму мовою Cі згідно з завданням, отриманим від викладача за табл. 1: задану прямокутну матрицю A={aij} відсортувати за вказаним алгоритмом; для відсортованої матриці знайти значення функції F(fi(aij)); алгоритм сортування і обчислення fi(aij) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)). № п/п Алгоритм впорядкування матриці Алгоритм для розрахунку fi(aij) та F(fi(aij)) Матриця  15 Впорядкувати елементи стовпців матриці за зростанням їх значень методом обміну fi(aij)-добуток елементів у кожному рядку над головною діагоналлю; F(fi(aij))-середнє арифметичне значення fi(aij) 50 98 -4 85 -8 40 73 -2 -9 -19 1 6 73 21 0 0 25 2 -5 -3 99 19 95 92 -7   Список ідентифікаторів, констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі printf-здійснюється вивід інформації на дисплей; scanf-відбувається зчитування значень із клавіатури і присвоєння їх змінним вихідної програми. n- константа, яка визначає кількість рядків і стовпців у масиві i, j- змінні типу int ,які використовуються в операторі FOR для опрацюваня масиву ser- середнє арифметичне значення добутків елементів у кожному рядку над головною діагоналлю(типу double); s- сума добутків елементів у кожному рядку над головною діагоналлю(типу double); sort(x)- функція, яка сортує елементи стовпців двовимірного масиву х типу int за зростанням їх значень методом обміну dob(х,у)- функція, яка створює одновимірний масив х типу int із добутків елементів у кожному рядку над головною діагоналлю двовимірного масиву х типу int Кінцева програма: #include<math.h> #include<stdio.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"); } for(i=0;i<n-1;i++) d[i]=1; dob(d,a); s=0; for(i=0;i<n-1;i++) s=s+d[i]; ser=s/(n-1); printf("\n Sered arefm=%lf",ser); } 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++) { for(j=i+1;j<n;j++) d[i]=d[i]*a[i][j]; printf("d[%d]=%d\n",i,d[i]);} } Результати роботи програми: a[1][1]=50 …ввід матриці…a[5][5]=-7 Old array: 50 98 -4 85 -8 40 73 -2 -9 -19 1 67 3 21 0 0 25 2 -5 -3 99 19 95 92 -7 New array: 0 6 -4 -9 -19 11 9 -2 -5 -8 40 25 2 21 -7 50 73 73 85 -3 99 98 95 92 0 d[0]=-4104 d[1]=-80 d[2]=-147 d[3]=-3 Sered arefm= -1083.5000
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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