Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 семестр Лабораторна робота 3.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
655.12 Кб
Скачать

Приклади розв'язування задач

  1. Знайти індекси найбільшого та найменшого елементів двовимірного масиву.

Розв’язування.

Визначимо потрібні об’єкти:

MaxN, MaxM – константи цілого типу: найбільша кількість рядків масиву та найбільша кількість елементів у рядку;

N, M – змінні цілого типу: потрібна кількість рядків масиву та елементів у рядку;

TMas2Int – ідентифікатор типу двовимірного масиву цілих чисел;

A – змінна типу TMas2Int;

MaxI, MaxJ – змінні цілого типу: індекси найбільшого елемента масиву – номер рядка, та номер елемента в рядку;

MinI, MinJ – змінні цілого типу: індекси найменшого елемента масиву – номер рядка, та номер елемента в рядку;

i,j – змінні цілого типу: індекси поточного елемента.

Алгоритм

Програма

  1. ввести число N, M;

  2. надати змінним MaxI, MaxJ, MinI, MinJ значення 1.

  3. ввести значення елементів масиву.

N раз повторити дії (i змінюється від 1 до N):

M раз повторити дії (j змінюється від 1 до M):

  1. вивести індекси елемента, значення якого потрібно ввести;

  2. ввести значення (i, j)-го елемента;

  1. знайти індекси найбільшого та найменшого елементів масиву.

N раз повторити дії (i змінюється від 1 до N):

M раз повторити дії (j змінюється від 1 до M):

  1. якщо (i, j)-й елемент > (MaxI, MaxJ)-го елемента,

то MaxI і MaxJ надати значення i, j відповідно;

  1. якщо (i, j)-й елемент < (MinI, MinJ )-го елемента,

то MinI і MinJ надати значення i, j відповідно;

  1. вивести результат MaxI, MaxJ, MinI, MinJ.

const MaxN = 20; MaxM = 20;

type TMas2Int = array[1..MaxN, 1..MaxM] of Integer;

var A : TMas2Int; MaxI, MaxJ, MinI, MinJ, i, j: Integer;

begin Write('Введіть розмірність масиву N, M –');

ReadLn(N, M);

for i := 1 to N do

for j := 1 to M do

begin Write('A[',i, ',', j,']='); ReadLn(A[i,j]) end;

MaxI := 1; MaxJ := 1; MinI := 1; MinJ := 1;

for i := 1 to N do

for j := 1 to M do

begin if A[i,j] > A[MaxI,MaxJ]

then begin MaxI := i; MaxJ := j; end;

if A[i,j] < A[MaxI,MaxJ]

then begin MinI := i; MinJ := j; end;

end;

WriteLn('Max(', MaxI, ',' , MaxJ,

') Min(', MinI, ',' , MinJ, ')' );

end.

  1. Заповнити тривимірний масив цілих чисел за правилом: елементи на гранях рівні 1, всі інші 0 (за схематичним поданням).

Розв’язування.

Визначимо потрібні об’єкти:

MaxN, MaxM, MaxL – константи цілого типу: найбільші значення розмірностей масиву;

N, M, L – змінні цілого типу: потрібні значення розмірностей масиву;

Tmas3Int – ідентифікатор типу даних тривимірного масиву цілих чисел;

A – змінна типу TMas3Int;

i, j, k – змінні цілого типу: індекси поточного елемента.

Алгоритм

Програма

const MaxN = 20; MaxM = 20; MaxL = 20;

type TMas3Int = array[1..MaxN, 1..MaxM, 1..MaxL]

of Integer;

var A : TMas2Int; i, j, k: Integer;

begin Write('Введіть розмірність масиву N, M, L –');

ReadLn(N, M, L);

for i := 1 to N do

for j := 1 to M do

for k := 1 to L do

if (i=1) Or (i=N) Or (j=1) Or

(j=M) Or (k=1) Or (k=L)

then A[i,j,k] := 1

else A[i,j,k] := 0;

for i := 1 to L do

begin for j := 1 to N do

begin for k := 1 to M do Write(A[i, j, k],' ');

WriteLn;

end;

WriteLn;

end;

end.

  1. ввести числа N, M, L;

  1. заповнити масив:

N раз повторити дії (i змінюється від 1 до N):

M раз повторити дії (j змінюється від 1 до M):

L раз повторити дії (k змінюється від 1 до L):

якщо i=1 або i=N або j=1 або

j=M або k=1 або k=L,

то елементу (i, j, k) надати значення 1,

інакше елементу (i, j, k) надати значення 0;

  1. вивести значення елементів масиву на екран (прямокутна таблиця відповідає фронтальній грані за схематичним поданням).

L раз повторити дії (i змінюється від 1 до L):

N раз повторити дії (j змінюється від 1 до N):

M раз повторити дії (k змінюється від 1 до M):

вивести елемент (i, j, k).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]