Двумерные массивы: ввод, вывод, генерация
Двумерные массивы: ввод, вывод, генерация
Ввод элементов массива A, содержащего N строк и M столбцов
Блок-схема
Программа
For i:=1 to N do
For j:=1 to M do
Begin
Write(‘A[‘, i, ‘,‘, j, ‘]=‘);
readln(A[i,j]);
End;
Вывод элементов массива A, содержащего N элементов
Блок-схема
Программа
For i:=1 to N do
Begin
For j:=1 to M do
Write(A[i, j]:4); {вывод в одну строку}
Writeln; { Переход на следующую строку }
End;
Генерация элементов массива A, содержащего N элементов
Для генерации элементов массива в Pascal используется функция Random.
Для генерации целых чисел в диапазоне от X1 до X2 (X1 < X2) можно воспользоваться следующим выражением
A[i,j]:=X1+Random(X2-X1+1);
Например, для генерации целых чисел от -10 до 10 выражение будет следующим
A[i,j]:=-10+Random(21);
Для генерации вещественны чисел в диапазоне от X1 до X2 (X1 < X2, X2 не входит в отрезок) можно воспользоваться следующим выражением
A[i,j]:=X1+(X2-X1)*Random;
Например, для генерации целых чисел от -10 до 10 выражение будет следующим
A[i,j]:=-10+20*Random;
Блок-схема
Программа
For i:=1 to N do
For j:=1 to M do
A[i,j]:=-10+Random(21);
После генерирования элементов массива они (элементы) обычно выводятся на экран, так они хранятся в оперативной памяти и пользователю программы не видны.
Двумерные массивы: поиск элемента
Поиск значения максимального элемента массива
Блок-схема
Программа
Max:=A[1,1];
For i:=1 to N do
For j:=1 to M do
If A[i,j]>Max Then Max:=A[i,j];
Поиск номера столбца (R) и строки (C) элемента массива, принимающего максимальное значение
Блок-схема
Программа
Max:=A[1,1];
R:=1; C:=1;
For i:=1 to N do
For j:=1 to M do
If A[i,j]>Max Then
Begin
Max:=A[i,j]; R:=i; C:=j;
End;
Двумерные массивы: вычисление суммы, количества, произведения элементов массива
Поиск суммы элементов массива, удовлетворяющих некоторому условию
Блок-схема
Программа
S:=0;
For i:=1 to N do
For j:=1 to M do
If <Условие> Then S:=S+A[i];
Поиск количества элементов массива, удовлетворяющих некоторому условию
Блок-схема
Программа
K:=0;
For i:=1 to N do
For j:=1 to M do
If <Условие> Then K:=K+1;
Например, дан массив из N вещественных чисел, найти количество отрицательных элементов.
Блок-схема
Программа
K:=0;
For i:=1 to N do
For j:=1 to M do
If A[i,j]<0 Then K:=K+1;
Поиск произведения элементов массива, удовлетворяющих некоторому условию
Блок-схема
Программа
P:=1;
For i:=1 to N do
For j:=1 to M do
If <Условие> Then P:=P*A[i,j];
Например, дан целочисленный массив из N чисел, найти произведение положительных элементов, меньших 10.
Блок-схема
Программа
P:=1;
For i:=1 to N do
For j:=1 to M do
If (A[i,j]>0) and (A[i,j]<10) Then P:=P*A[i,j];
Двумерные массивы: удаление строки с номером K
Для удаления строки необходимо на место удаляемой строки записать следующую строку. На место следующей строки необходимо записать строку, идущую за следующей и т.д. После замещения предпоследней строки количество строк необходимо уменьшить на единицу.
Блок-схема
Программа
For i:=K to N-1 do
For j:=1 to M do
A[i,j]:=A[i+1,j];
N:=N-1;
Двумерные массивы: ввод, вывод, генерация
Ввод элементов массива A, содержащего N строк и M столбцов
Блок-схема
Программа
For i:=1 to N do
For j:=1 to M do
Begin
Write(‘A[‘, i, ‘,‘, j, ‘]=‘);
readln(A[i,j]);
End;
Вывод элементов массива A, содержащего N элементов
Блок-схема
Программа
For i:=1 to N do
Begin
For j:=1 to M do
Write(A[i, j]:4); {вывод в одну строку}
Writeln; { Переход на следующую строку }
End;
Генерация элементов массива A, содержащего N элементов
Для генерации элементов массива в Pascal используется функция Random.
Для генерации целых чисел в диапазоне от X1 до X2 (X1 < X2) можно воспользоваться следующим выражением
A[i,j]:=X1+Random(X2-X1+1);
Например, для генерации целых чисел от -10 до 10 выражение будет следующим
A[i,j]:=-10+Random(21);
Для генерации вещественны чисел в диапазоне от X1 до X2 (X1 < X2, X2 не входит в отрезок) можно воспользоваться следующим выражением
A[i,j]:=X1+(X2-X1)*Random;
Например, для генерации целых чисел от -10 до 10 выражение будет следующим
A[i,j]:=-10+20*Random;
Блок-схема
Программа
For i:=1 to N do
For j:=1 to M do
A[i,j]:=-10+Random(21);
После генерирования элементов массива они (элементы) обычно выводятся на экран, так они хранятся в оперативной памяти и пользователю программы не видны.