Массивы в Паскале: одномерные и двумерные. Описание и ввод-вывод

Описание массивов

а) одномерных:

Var Имя: array [Список типов индексов] of Тип элементов;

где Список типов индексов – чаще всего ограниченный тип, например: 1..10;

Тип элементов – тип элементов, допустимый в языке Паскаль, например: Real, Integer, Char, Boolean или определенный пользователем.

б) двухмерных:

Var Имя: array [Список типов индексов1, Список типов индексов2] of Тип элементов;

Пример: Var А: array [1..5,1..6] of Real; - описана матрица (двухмерный массив) из 5 строк и 6 столбцов.

Ввод-вывод элементов массива

а) одномерного:

for i:=1 to 10 do read(a[i]); - вводятся элементы массива А, набранные на клавиатуре в одну строку через пробел (после набора последнего – нажать Enter).

for i:=1 to 10 do write(a[i]);- выводятся элементы массива А в строку через пробел;

for i:=1 to 10 do writeln('a[',i:2,']=',a[i]); - выводятся элементы массива А с комментарием по одному в каждой строке;

б) двухмерного:

for i:=1 to 5 do

for j:=1 to 6 do read(a[i,j]); - данные набираются в одну строку: пять элементов одной строки и нажать Enter, затем пять элементов другой строки и т.д. все шесть строк.

for i:=1 to 5 do

begin

for j:=1 to 6 do write(a[i,j]); - выводится строка матрицы

writeln; - переход на новую строку

end;

Типовые задачи на массивы с циклами

Дан одномерный массив А, состоящий из 10 элементов.

1 Найти сумму элементов массива А.

…for i:=1 to 10 do s:=s+a[i];

2 Найти сумму только положительных (отрицательных, отрицательных и положительных одновременно) элементов массива А.

…for i:=1 to 10 do if a[i] > 0 then s:=s+a[i];

3 Найти количество положительных (отрицательных; отрицательных и положительных одновременно; равных какому-либо значению) элементов массива А.

…for i:=1 to 10 do if a[i] > 0 then k:=k+1;

4 Вывести на печать номера элементов массива А, равных p (равных какому-либо значению).

…for i:=1 to 10 do if a[i] = 3.14 then Writeln(‘Номер=’, i:2);

5 Переписать элементы массива А в массив В (В также состоит из 10 элементов).

…for i:=1 to 10 do b[i]:=a[i];

Реализация вложенных циклов

1 Найти сумму элементов матрицы М, состоящей из 3-х строк и 4-х столбцов.

…for i:=1 to 3 do

for j:=1 to 4 do s:=s+M[i,j];

2 Подсчитать, сколько раз элементы массива А встретятся в массиве В.

…for i:=1 to 10 do

begin

for j:=1 to 10 do if a[i]=b[j] then k:=k+1;

writeln(‘a[’,i:2,’] встретился в массиве В’, k:2, ‘раз’);

end;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: