Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab8 pas.docx
Скачиваний:
14
Добавлен:
15.03.2016
Размер:
287.35 Кб
Скачать

Обработка матриц

Ввод/вывод значений элементов матрицы

1-1 Заполнение элементов матрицы с клавиатуры

program zadacha1;

{ввод - с клавиатуры, вывод - в столбик}

var

а: аrray [1..10,1..10] of real

i, j: integer;

begin

for i: =1 to 10 do

for j: =1 to 10 do

begin

readln (a[i,j]);

writeln (‘a(‘, i, ‘.,’,.j,’)=’, a[i,j]){вывод -в столбик}

епd.

1-2 Пример программы ввода-вывода матрицы

2 Заполнение элементов матрицы по формуле

program zadacha2;

{ввод - по формуле, вывод - таблицей}

var

а: аrray [1..10,1..10] of real;

i, j: integer;

begin

for i: =1 to 10 do begin

for j: =1 to 10 do begin

begin

а[i,j]: = (i+0.5)/(j+sin(j)); {ввод – по формуле}

write (a[i,j], ‘ ‘]) {вывод - таблицей}

епd;

writeln

епd;

епd;

епd.

3 Заполнение элементов матрицы случайными числами

program zadacha3;

{ ввод случайных чисел, вывод - в строчку}

var

а: аrray [1..10,1..10] of integer;

i, j: integer;

begin

randomize; {оператор, позволяющий генерировать новую}

{последовательность случайных чисел при}

{новом запуске программы на выполнение}

for i: =1 to 10 do

for j: =1 to 10 do

begin

а[i,j]: = random (30); {генерация случайного числа от 0 до x-1,

{в данном случае, от 0 до 29}

write (‘a(‘,I, ‘,’,j,’)=’, a[i,j])

епd;

епd.

4 Вывод массива

Варианты вывода массива:

{вывод элементов в строчку через пробел}

{вывод элементов в строчку без пробелов}

{вывод элементов в столбец}

{вывод элементов в строчку с указанием номера элемента

(аналогично - в столбец)}

Типовые задачи на матрицы

1 Суммирование значений элементов матрицы

Дана матрица А(1,15), заполненная датчиком случайных чисел. Найти сумму значений всех элементов данной матрицы.

2 Нахождения количества значений элементов матрицы

Дана матрица А(10,20), заполненная датчиком случайных чисел в диапазоне от -10 до 19 включительно. Подсчитать количество положительных значений элементов каждой строкиматрицы.

program zadacha

{кол-во знач. элементов в каждой строке матрицы}

var

а: аrray [1..10,1..20] of integer;

i, j,k: integer;

begin

randomize;

for i: =1 to 10 do

begin

k:=0

for j: =1 to 20 do

begin

а[i,j]: = random (30)-10;

if a[i,j]>0 then k:=k+1

епd;

writeln ('кол-во полож. знач. в', i, ' строке=',k);

епd;

епd.

3 Поиск элементов массива

В одномерном массивеМ, состоящем из N целых чисел, найти элементы, значения которых равны заданному числуk.

Исходными данными являются:

  • массив целых чисел М,

  • число для поиска k.

Результат:

  • номера элементов массива, значения которых равны заданному числу.

Схема программы данного примера представлена на рисунке.

Вывод номера элемента,

совпадающего по значению с числом k

Сообщение 1:

Чисел, равных k, в массиве М нет.

Примечание:подобная задача может быть поставлена для двумерных массивов и массивов большей размерности (с использованием при вводе и обработке данных вложенных циклов).

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