37688

Багатовимірні масиви. Функції. Обробка двовимірних масивів

Лабораторная работа

Информатика, кибернетика и программирование

Мета: вивчити засоби опису функцій користувача та задання багатовимірних масивів, навчитись застосовувати функції користувача та алгоритми обробки багатовимірних масивів, зокрема двовимірних.

Украинкский

2015-01-18

563.03 KB

3 чел.

Міністерство освіти і науки, молоді та спорту України

Хмельницький національний університет

Кафедра системного програмування

ЛАБОРАТОРНА РОБОТА №4

з програмування

Функції. Багатовимірні масиви. Обробка двовимірних масивів

Студент групи КІ-10-1      _______   ___________   Ноль М.Г.

Керівник                             _______   ___________   Медзатий Д.М.

Хмельницький

2011

Лабораторна робота №4

Тема: Функції. Багатовимірні масиви. Обробка двовимірних масивів.

Мета: вивчити засоби опису функцій користувача та задання багатовимірних масивів, навчитись застосовувати функції користувача та алгоритми обробки багатовимірних масивів, зокрема двовимірних.

Завдання

1. Задано матрицю А(mm), 1 < < 10. Знайти максимальний з елементів, розташованих над головною діагоналлю. Переставити рядки за зростанням значення другого елемента рядка.

Програма 1

#include <stdio.h>

void main()

{

srand(time(0));

int a[10][10],m,i,j,max;

printf("Vvedit kil'kist' r'adkiv i stovpziv M>1: "); scanf("%d",&m);

for (i=0;i<m;i++) {for (j=0;j<m;j++) a[i][j]=rand()%100,printf("%5d  ",a[i][j]); printf("\n");}

max=a[0][1];

for (j=1;j<m;j++) for (i=0;i<j;i++) if (a[i][j]>max) max=a[i][j]; printf("\nmax=%d \n",max);

//sorting

int maxi,t,l=m;

while(l>0) {maxi=0; for(i=1;i<l;i++) if (a[i][1]>a[maxi][1]) maxi=i;

       for (j=0;j<m;j++) t=a[l-1][j],a[l-1][j]=a[maxi][j],a[maxi][j]=t; l--; }

   for (i=0;i<m;i++) {for (j=0;j<m;j++) printf("%3d  ",a[i][j]); printf("\n");}    

}


Блок-схема 1

початок

Ввести(m)

j=1, m

i=0, m

i=0, j-1

j=0, m

a[i][j]=rand()%100

Вивести(a[i][j])

max=a[0][1]

a[i][j]>max?

+

max=a[i][j]

A

Вивести(max)


A

+

l>0?

l=l-1

maxi=i

maxi=0

i=0, m

i=0, m

j=0, m

i=1, l

+

a[i][1]>a[maxi][1]?

t=a[l-1][j],a[l-1][j]=a[maxi][j], a[maxi][j]=t

Вивести(a[i][j])

кінець

2.  Скласти програму визначення значення функції у точці. У програмі передбачити реалізацію трьох підпрограм (функцій): перша забезпечує введення інформації, друга забезпечує обчислення необхідної величини, третя – виведення результатів. Передачу параметрів між функціями організувати без використання глобальних змінних.

Програма 2

#include <stdio.h>

#include <math.h>

 

void read(int *x,int *m,int *n,int *k)

{

printf("Vvedit 4yslo X: "); scanf("%d",x);

printf("Vvedit 4yslo m: "); scanf("%d",m);

printf("Vvedit 4yslo n: "); scanf("%d",n);

printf("Vvedit 4yslo k: "); scanf("%d",k);

}

float F(int x,int m,int n,int k)

{

return sin(sqrt(m+2)*1.0/x+k*1.0/n)+log(pow(k*1.0/2+x*x,1/3));

}

void write(float y)

{

printf("\n\tY=%4.4f\n",y);

}

void main()

{

int x,m,n,k;

read(&x,&m,&n,&k);

write(F(x,m,n,k));

 }


кінець

вихід

Вивести(y)

write(y)

початок

read(x,m,n,k)

Ввести(x,m,n,k)

Блок-схема 2

                   

write(F(x,m,n,k))

read(x,m,n,k)

вихід

F (x,m,n,k)

Вивести(sin(sqrt(m+2)*1.0/x++k*1.0/n)+log(pow(k*1.0/2+
+x*x,1/3))
)

вихід

Висновок

Виконавши лабораторну роботу, я навчився описувати функції з різними параметрами та значеннями і методи їх виклику, а також засвоїв алгоритми опису багатовимірних масивів та їх обробку в мові програмування С.


 

А также другие работы, которые могут Вас заинтересовать

39276. Разработка автоматизированной системы измерений параметров взаимодействия жидких кристаллов с поверхностью подложки 7.52 MB
  Для них характерна относительная свобода пространственного порядка молекул в одном или более измерениях. Наиболее распространены нематические ЖК у которых длинные оси молекулы вытянуты приблизительно параллельно друг другу. Схема выключенной монохромной ячейки Если к ячейке приложено электрическое поле оси молекул поворачиваются перпендикулярно электродам и структура перестаёт вращать плоскость поляризации падающего света который при этом поглощается вторым поляризатором и устройство выглядит темным. Схема установки с вращением ячейки по...
39277. АРХИТЕКТУРА СПЕЦИАЛИЗИРОВАННЫХ СИСТЕМ ОБРАБОТКИ, АНАЛИЗА И ИНТЕРПРЕТАЦИИ ДАННЫХ 1.33 MB
  Команды. Опережающий просмотр команд. Структура ЭВМ с множественным потоком команд Глава 12. Компьютеры становятся весьма сложными кудато пропадает дружественность интерфейса программная среда переходит на жесткий командный язык и начинает требовать от пользователей предоставления такой информации которая не всегда известна и т.
39278. Концептуальная модель безопасности сети 22.04 KB
  Направлены на минимизацию или устранение Предполагают реализацию Невыполнение ведет к предпосылкам Потенциально ведут к нанесению ущерба Обуславливают наличие Из паспорта Из типа Кумулятивно и взвешенно ведут к нарушениям целостности устойчивости функционирования и безопасности ЕСЭ {C} Проверяют выполнение {R} = Учитывает ценность Учитывает стоимость Учитывает актуальность Содержат Рисунок 1 Концептуальная модель безопасности сети Условные обозначения:...
39279. АРХИТЕКТУРА СПЕЦИАЛИЗИРОВАННЫХ СИСТЕМ ОБРАБОТКИ, АНАЛИЗА И ИНТЕРПРЕТАЦИИ ДАННЫХ 1.13 MB
  Содержание: Введение Параллельная обработка данных на ЭВМ Классификации параллельных ВС Классификация Кришнамарфи Используемые источники Введение Стремительное развитие науки и проникновение человеческой мысли во все новые области вместе с решением поставленных прежде проблем постоянно порождает поток вопросов и ставит новые как правило более сложные задачи. К настоящему времени спроектированы и опробованы сотни различных компьютеров использующих в своей архитектуре тот или иной вид параллельной обработки данных. Параллельная обработка...
39280. Научение путем наблюдения: научение с помощью имитации других или наблюдения 22.13 KB
  Это пример типа научения известного как научение путем наблюдения или подражание41. Научение путем наблюдения форма научения при которой люди приобретают новые знания путем систематического наблюдения за чужим опытом вознаграждений и наказаний. научение путем наблюдения Оно имеет место в тех случаях когда человек приобретает новые знания действуя вместо другого то есть посредством наблюдения за тем что происходит с другими людьми.
39281. Дисциплина 22.01 KB
  Другие считают что иногда наказание наиболее эффективный способ изменить поведение. НАКАЗАНИЕ определение Неприятное следствие определенной поведенческой реакции или отказ от желательного подкрепления в связи с определенной поведенческой реакцией. Наказание это инициирование неприятного события или устранение позитивного события следующие за нежелательным поведением и уменьшающие частоту нарушений96. Литература посвященная этому вопросу рассматривает теоретические рамки и основу для прогрессивных дисциплинарных программ организаций...
39282. Дисциплинарные взыскания 17.93 KB
  Управляя нежелательными последствиями поведения например используя временное отстранение от должности без оплаты труда компании ищут способы свести случаи такого поведения к минимуму. Вероятно у вас не вызывает никакого удивления тот факт что руководители не всегда наказывают подчиненных в каждом случае неприемлемого поведения76. Например в компании Нопс1а оГАтепса специалист по кадровой политике Тим Гарретт Тип СаггеИ отмечает что его компанией уделяется очень большое внимание всем нарушениям правил поведения включая даже те...
39283. ФИЛОСОФИЯ ЧЕЛОВЕКА 256.5 KB
  Стремление человека познать свою собственную природу – вспомним слова Сократа: «Познай самого себя» - является одним из главных стимулов развития философской мысли. В отличие от других наук и дисциплин, изучающих человека, философия стремится выяснить, что такое человек вообще, какова его природа, его сущность.
39284. ПЛОЖЕНИЕ ЧЕЛОВЕКА В КОСМОСЕ 183.13 KB
  ПЛОЖЕНИЕ ЧЕЛОВЕКА В КОСМОСЕ сокращенный текст ВОПРОСЫ К СЕМИНАРУ 1: 1. Идея человека как проблема. Сущностное различие человека и животного . Негативная и классическая теории человека: Негативная теория и ее критика.