Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Приклади розв'язання деяких типових задач з обробки двовимірних таблиць

ЗАДАЧА 1

Умова: Дано натуральні числа п, т. Обчислити значення елементів матриці Сij, (і = 1, 2,... п, j-1, 2,.... т), якщо:

Розв 'язання:

Program Example_345_l;

Uses crt;

Const n = 20; m = 15;

Var C:array[1..n,1..m] of integer;

i,j:integer; {i,j - змінні циклу}

Begin

Clrscr;

For i:=1 to n do

Begin

For j:=1 to m do

Begin

if і < j then C[i,j]:=i + j

else C[i,j]:=i*i + j*j;

Write(C[i,j]:5);

end;

writeln;

End;

Readkey; {Затримка зображення на екрані)

End.

ЗАДАЧА 2.

Умова: Дано квадратну матрицю розмірності п. Надрукувати суму елементів бічної діагоналі.

Розв 'язання: Розв'язок задачі є тривіальним, якщо згадати, яку залежність мають індекси бічної діагоналі (і +j = п + 1). Перевіривши цю залежність у середині циклів, що організовують проходження по масиву, ми знайдемо бажану суму.

Program Example_360;

Uses crt;

Const n = 10;

Var A:array[1..n,1..n] of real;

і,j:integer; (і,j - змінні циклу}

Sum:real; {Sum - сума елементів бічної діагоналі}

Begin

Randomize;

Clrscr; {Заповнення масиву та виведення його на екран}

For і:=1 to n do

Begin

For j: =1 to n do

Begin

A[i,j]:=random*50-random(80)/3; Write(A[i,j]:8:3);

end;

writeIn;

End;

Sum:=0; {Початкове значення суми}

For і:=1 to n do

Begin

For j:=1 to n do

if і + j = n+1 then Sum:=Sum+A[і,j];

End;

Writeln('Сума елементів бічної діагоналі =',Sum:8:2);

Readkey;

End.

Зверніть увагу на те, що для цієї задачі можна значно спростити цикл знаходження суми, адже фактично ми розглядаємо тільки лінійний масив (елементи на діагоналі насправді складають одновимірний масив). Тому цикл знаходження суми можна зобразити таким чином (наведений фрагмент програми):

Sum:=0; {Початкове значення суми}

For i:=l to n do Sum:=Sum+A[i,n+1-i];

Задачі для самостійного розв’язання:

1. Дано цілочислову прямокутну таблицю порядку п х т. Усі елементи таблиці, менші за середнє арифметичне її значень, замінити на «- 1», а більші — на «1».

2. У прямокутній таблиці розмірністю 4x7 знайти найбільший елемент. Значення елементів таблиці вводяться з клавіатури.

3. У прямокутній таблиці розмірністю 6x8 знайти знайти найменший елемент. Таблиця заповнюється випадковим чином.

4. Знайти суму елементів головної діагоналі квадратної таблиці розмірністю 5х5.

5. У даній дійсній матриці розмірністю 6x9 знайти суму елементів рядка, що містить найбільший елемент. Вважається, що такий елемент у матриці єдиний.

1. Заповнити двовимірний масив 3х3 і

а). визначити який елемент більший той який знаходиться в верхнім правим куті чи в нижньом лівом.

б). визначити який елемент менший той який знаходиться в верхнім правим куті чи в нижньом лівом.

2. Заданий двовимірний масив. Визначити суму елементів першого і другого стовпчиків.

3. Заповнити двовимірний масив результатами таблиці множення.

4. Заданий двовимірний масив. Вивести на екран:

а). всі елементи третього рядка масива, починаючи з останього.

б). всі елементи k-го стовпчика починаючи з нижнього.

5. В двомірному масиві зберігається інформація про зарплату 18 чоловік за кожний місяць року. Визначити загальну зарплату за червень, і середню зарплату за будь-який місяць.

6. Три групи студентів в кожній з яких 20 чоловік під час сесії здавали 3 екзамена. Результати оцінок кожної групи зберігаються в двовимірному масиві. Визначити кращу групу по середній оцінці.

7. в залі кінотеатру 23 ряда в кожному із яких по 40 крісел. Інформація по проданих білетах зберігається в двовимірному масиві. Якщо білет куплений на якесь місце то елемент масива мае значення 1 інакше 0. Визначити чи е вільні місця в першому ряді.

 




Дата добавления: 2014-12-19; просмотров: 36 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав