Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
немного теории + примеры.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
54 Кб
Скачать

Массивы:

Массив – совокупность данных (элементов) одного типа с общим для всех элементов именем.

Все элементы массива прономерованы , поэтому к каждому из них можно обратится.

  • Одномерные. А – имя массива а[i] – индекс.

1 2 3 4 5 А = {1,3,4,5,6} а[1] = 1 a[3] = 4

  • Двумерные. j

i (123) В= (567) в [i, j] (819) в[2,2] =6 в[3,2] =1

Для массива характерны:

  • Тип – является общим для всех элементов массива.

  • Размерность (ранг) – количество индексов массива.

  • Диапазон изменения индекса – определяет количество элементов в массиве.

Программа: Сумма элементов по диагонали в двумерном массиве

Задача: Заполнить двумерный массив размером 16x16 любыми числами. Найти сумму всех элементов по диагонали. Вывести результат.

PROGRAM summapodiag;

var i,k,s :integer;

M :array[1..16,1..16] of integer;

BEGIN

Randomize;

s:=0;

for i:=1 to 16 do

begin

for k:=1 to 16 do

begin

M[i,k]:=random(10);

Write(M[i,k],' ');

end;

Writeln

end;

for k:=1 to 10 do

s:=M[k,k]+s;

WriteLn('Сумма диагонали равна: ',s);

END.

Программа: Наибольший элемент в двумерном массиве

Задача: Заполнить двумерный массив положительными или отрицательными числами. В качестве результата вывести наибольший элемент массива из всех строк.

PROGRAM naibelmass;

var i,k,s :integer;

M :array[1..10,1..10] of integer;

BEGIN

Randomize;

s:=0;

for i:=1 to 10 do

begin

for k:=1 to 10 do

begin

M[i,k]:=random(10);

Write(M[i,k],' ');

end;

Writeln

end; // Забитие и вывод массива

for i:=1 to 10 do

begin

for k:=1 to 10 do

begin

if M[i,k]>s then s:=M[i,k]

end;

end; // Проверка если больше...

WriteLn('Самый большой элемент массива: ',s);

END.

Программа: Количество положительных элементов в двумерном массиве

Задача: Заполнить двумерный массив положительными и отрицательными числами. Вывести количество положительных элементов массива во всех строках. Использовать массив размерностью 3 на 3.

PROGRAM kolpolog;

var i,k,s :integer;

M :array[1..3,1..3] of integer;

BEGIN

Randomize;

s:=0;

for i:=1 to 3 do

begin

for k:=1 to 3 do

begin

M[i,k]:=-random(19)+10;

Write(M[i,k],' ');

if M[i,k]>0

then s:=s+1;

end;

Writeln

end; // Забитие и вывод массива

WriteLn('Количество положительных элементов во всех строках = ',s); // Положительные числа

END.

Программа: Смена первого и последнего элементов двумерного массива

Задача: Заполнить двумерный массив. Поменять местами первый и последний элементы.

PROGRAM perviiposlednii;

var i,k,s :integer;

M :array[1..10,1..10] of integer;

BEGIN

Randomize;

s:=0;

for i:=1 to 10 do

begin

for k:=1 to 10 do

begin

M[i,k]:=random(10);

Write(M[i,k],' ');

end;

Writeln

end; // Забитие и вывод массива

s:=M[1,1];

M[1,1]:=M[10,10];

M[10,10]:=s; // Замена 1 и 10

Writeln;

for i:=1 to 10 do

begin

for k:=1 to 10 do

begin

Write(M[i,k],' ');

end;

Writeln

end; //Снова вывод

END.

Программа: Вставка столбца из нулей в двумерный массив

Задача: Заполнить двумерный массив. Вставить столбец из нулей вместо случайно выбранного столбца.

PROGRAM nuli;

var i,k,s :integer;

M :array[1..3,1..3] of integer;

BEGIN

Randomize;

s:=random(4);

for i:=1 to 3 do

begin

for k:=1 to 3 do

begin

M[i,k]:=random(10);

Write(M[i,k],' ');

end;

Writeln

end; // Забитие и вывод массива

WriteLn(s,' - Случайное число ');

for i:=1 to 3 do

begin

for k:=1 to 3 do

begin

if k=s

then M[i,k]:=0;

Write(M[i,k],' ');

end;

Writeln

end; // Проверка если больше...

END.