Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТPascal Сборник конспектов.doc
Скачиваний:
24
Добавлен:
10.11.2018
Размер:
924.67 Кб
Скачать

32. Заполнение двухмерных массивов данными

В дальнейшем во всех программах приняты следующие обозначения:

n – число столбцов

m – число строк

i – номер столбца, меняется от 1 до n

j – номер строки, меняется от 1 до m

a[i,j] – элемент массива на пересечении i столбца и j строки

А) Данные вводятся с клавиатуры через пробел

Program DM_Kbd;

Const n=4; m=3;

Var a: Array[1..n,1..m] of Integer;

i,j: Integer;

Begin

WriteLn(‘Введите ’,m,’ строк по ’, n, ' чисел:');

For j:=1 To m Do Begin

For i:=1 To n Do Read(a[i,j]);

ReadLn; End;

Решение основной задачи

ReadLn;

End.

Имя программы – придумали сами

Константы n – число столбцов, m – число строк

Объявляем двухмерный массив из целых чисел

Объявляем переменные для циклов

Подсказка для ввода чисел

Основной цикл по строкам

Второй цикл по элементам строки

Место для решения основной задачи

Обычная пауза

Завершение программы.

Б) Данные создаются генератором случайных чисел, человеку вводить ничего не надо.

Program DM_Kbd;

Const n=4; m=3;

Var a: Array[1..n,1..m] of Integer;

i,j: Integer;

Begin

WriteLn(‘Массив случайных чисел:');

For j:=1 To m Do Begin

For i:=1 To n Do Begin

a[i,j]:=Random(21)-10;

Write(a[i,j]:4); End;

WriteLn; End;

Решение основной задачи

ReadLn;

End.

Имя программы – придумали сами

Константы n – число столбцов, m – число строк

Объявляем двухмерный массив из целых чисел

Объявляем переменные для циклов

Подсказка перед выводом массива

Основной цикл по строкам

Второй цикл по элементам строки

Заполнение случайными числами

Вывод чисел на экран

Место для решения основной задачи

Обычная пауза

Завершение программы.

После запуска увидим следующее:

Массив случайных чисел:

-3

7

4

-2

10

-1

7

3

2

4

6

-7

33. Решение задач на двухмерные массивы.

Задача 1. Заполнить двухмерный массив из 5 столбцов и 4 строк целыми случайными числами в пределах от -10 до 10. Найти в каждой строке количество нулей. Найти в каждом столбце наибольший элемент.

За основу берем программу DM_Rnd.

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

Не забываем объявить переменные Kol и Max.

Program z1;

Const n=5; m=4;

Var a: Array[1..n,1..m] of Integer;

i,j: Integer;

Kol,Max:Integer;

Begin

WriteLn(‘Массив случайных чисел:');

For j:=1 To m Do Begin

For i:=1 To n Do Begin a[i,j]:=Random(21)-10; Write(a[i,j]:4); End;

WriteLn; End;

For j:=1 To m Do Begin

Kol:=0;For i:=1 To n Do If a[i,j]=0 Then Kol:=Kol+1;

WriteLn(‘Kol’,j,’=’,Kol); End;

For i:=1 To n Do Begin

Max:=a[i,1];For j:=1 To m Do If a[i,j]>Max Then Max:=a[i,j];

WriteLn(‘Max’,i,’=’,Max); End;

ReadLn;

End.

Задача 2. Заполнить двухмерный массив из 5 столбцов и 4 строк целыми случайными числами в пределах от -10 до 10. Найти в каждой строке наибольший элемент. Найти в каждом столбце количество нулей.

Задача 3. Заполнить двухмерный массив из 4 столбцов и 5 строк целыми случайными числами в пределах от -10 до 10. Найти в каждой строке наименьший элемент. Найти в каждом столбце количество пятерок.

Задача 4. Заполнить двухмерный массив из 4 столбцов и 3 строк целыми случайными числами в пределах от -10 до 10. Найти в каждой строке количество четных чисел. Найти в каждом столбце количество нечетных чисел.

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