Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
111
Добавлен:
02.05.2014
Размер:
813.06 Кб
Скачать

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

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

По аналогии с алгоритмом ввода, алгоритм вывода одномерного массива будет иметь вид:

Var a: array[1..n] of integer;

I: integer;

….

{алгоритм вывода одномерного массива }

for i:=1 to n do

write(a[i],’ ‘);

Оператор Write позволяет выводить элементы массива в строку через пробел. При выводе элементов массива следует обратить внимание на тип элементов массива, для элементов действительного типа следует указать формат вывода. Например, write(a[i]:10:2).

Алгоритм вывода двумерного массива аналогичен, но следует обратить внимание на то, что выводить массив необходимо по строкам. Т.е. для каждой строки нужно:

  • Вывести элементы как в одномерном массиве.

  • Перевести курсор на новую строку.

Тогда алгоритм будет выглядеть следующим образом:

Var a: array [1..n,1..m] of real;

I,j: integer;

. . . . . .

{алгоритм вывода двумерного массива}

For i:=1 to n do

begin

For j:=1 to n do Write (a[i,j]:10:2);

Writeln;

End;

Дома:

  • Повторить условные операторы и операторы цикла.

  • Разобрать и выучить все изученное на данный момент о массивах

Лекция 22. Основные задачи по теме.

На пошлых занятиях мы разобрали алгоритмы ввода, задания и вывода массивов. Сегодня рассмотрим основные задачи обработки массивов.

Задачи:

Найти наибольший элемент одномерного массива А8 введенного с клавиатуры.

Найти сумму, произведение всех элементов двумерного массива An x m, заданного случайным образом. Элементы массива находятся в (0;1)

Найти количество четных элементов массива A5, заданного по формуле a[i]=5i2

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

Замечание! Первоначально обязательно нужно положить в max элемент массива.

program _;

const n=8;

type vector=array [1..n]of integer;

var a:vector;

I,max:integer;

begin

{алгоритм ввода одномерного массива}

For i:=1 to n do

Begin

Writeln(‘введите а[’,I,’]’);

Readln(a[i]);

End;

{нахождение наибольшего}

max:=a[1] ;

for i:=2 to n do

if a[i]>max then max:=a[i];

writeln('max=',max);

readln;

end.

Для решения второй задачи, необходимо завести две переменные: для суммы-S и для произведения-Р.

program _;

uses crt;

const n=6;

m=3;

var a:array [1..m;1..n] of real ;

I,j:integer;

S,p:real;

Begin

Randomize;

{ задание массива}

For i:=1 to m do

For j:=1 to n do

A[I,j]:=random;

{нахождение суммы}

s:=0;

for i:=1 to m do

for j:=1 to n do

s:=s+a[I,j];

{нахождение произведения}

p:=1;

for i:=1 to m do

for j:=1 to n do

p:=p*a[I,j];

writeln(‘сумма всех элементов =’,s:10:5);

writeln(‘произведение всех элементов =’,p:10:5);

readln;

end.

Для решения задачи необходимо завести переменную, в которой будет лежать количество черных элементов- Kol

program _;

const n=5;

var a:array [1..n] of integer ;

I, kol:integer;

begin

{ задание массива}

For i:=1 to m do

A[I,j]:=5*sqr(i);

{нахождение количества четных}

Kol:=0;

for i:=1 to m do

if a[i] mod 2=0 then kol:= kol+1;

writeln(‘количество четных элементов =’,kol);

readln;

end.

Дома:

Найти минимальный элемент двумерного массива В2х5.

Дан массив А 30. Найти сумму всех четных элементов массива и произведение всех отрицательных.

Найти в массиве А3 х9 количество элементов из (10;20).