Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Условия задач.doc
Скачиваний:
8
Добавлен:
18.11.2019
Размер:
253.95 Кб
Скачать

Массивы

Пример 1. Задан одномерный массив A[1..5]. Заполнить массив числами, вводимыми с клавиатуры, определить произведение элементов.

Program primer;

Var

a: array [1..5] of integer;

i, p: integer;

Begin

For i:=1 to 5 do

begin

Write(‘a[‘, I, ‘]=’); Readln(a[i]);

end;

P:=1;

For i:= 1 to 5 do

P:=p*a[i];

Writeln(‘p=’, p);

Readln;

End.

  1. Задан одномерный массив A[1..7]. Заполнить массив числами, вводимыми с клавиатуры, определить сумму и среднее арифметическое элементов.

  2. Задан одномерный массив A[1..10]. Заполнить массив числами, вводимыми с клавиатуры, определить сумму и среднее арифметическое элементов с n-го по k-ый (числа n и k вводятся с клавиатуры).

Пример 2. Сформировать одномерный массив из 20 элементов, которые выбираются случайным образом из диапазона [-50; 50]. Определить максимальный элемент и его индекс.

Program primer;

Var

a: array [1..20] of integer;

i, max, k : integer;

Begin

For i:=1 to 20 do

begin

a[i]:= random(101)-50;

Write(a[ i]:3);

end;

max:=a[1]; k:=1;

For i:=2 to 20 do

begin

if max<a[i] then begin max:=a[i]; k:=I; end;

end;

Writeln(‘max=’, max, ‘index=’, k);

Readln;

End.

  1. Сформировать одномерный массив из 15 элементов, которые выбираются случайным образом из диапазона [0; 50]. Определить сумму максимального и минимального элементов массива.

  2. Сформировать одномерный массив из 20 элементов, которые выбираются случайным образом из диапазона [-15; 45]. Найти минимальный элемент среди элементов, стоящих на четных позициях и его номер.

Пример 3. Сформировать одномерный массив из 12 элементов. Определить количество четных элементов.

Program primer;

Var

a: array [1..12] of integer;

i, k: integer;

Begin

k:=0;

For i:=1 to 20 do

begin

a[i]:= random(101)-50;

Write(a[ i]:3);

if (a[i] mod 2=0) then inc(k);

end;

Writeln(‘kol=’, k);

Readln;

End.

  1. Сформировать одномерный массив из 10 элементов. Просуммировать все отрицательные элементы, стоящие на нечетных местах.

  2. Сформировать одномерный массив из 17 элементов. Определить среднее арифметическое нечетных положительных элементов, стоящих на четных местах.

Пример 4. Сформировать одномерный массив из 7 элементов. Определить, содержится ли в нем элемент ‘5’, если элемент найден, поменять его с первым элементом.

Program primer;

Var

a: array [1..7] of integer;

i, k: integer;

Begin

k:=0;

For i:=1 to 7 do

begin

a[i]:= random(101)-50;

Write(a[ i]:3);

if (a[i] =5) then k:=I;

end;

Writeln;

if k<>0 then

begin

a[k]:=a[1]; a[1]:=5;

For i:=1 to 7 do

Write(a[ i]:3);

end

else Writeln(‘net 5’);

Readln;

End.

  1. Сформировать одномерный массив из 13 элементов. Определить, содержатся ли в нем одновременно элементы ‘3’ и ‘6’? Если да, то обменять их местами.

  2. Сформировать одномерный массив из 20 элементов. Определить, содержится ли в нем элемент, равный целой части среднего арифметического максимального и минимального элементов, если да – вывести его индекс, иначе вывести 0.

Пример 5. Сформировать одномерный массив из 10 элементов. Упорядочить по возрастанию элементы массива.

Program primer;

Var

a: array [1..10] of integer;

i, j, t: integer;

Begin

For i:=1 to 10 do

begin

a[i]:= random(51);

Write(a[ i]:3);

end;

For i:=1 to 9 do

For j:=i+1 to 10 do

If a[i]>a[j] then begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end;

For i:=1 to 10 do

Write(a[i]:3);

Readln;

End.

  1. Сформировать одномерный массив из 10 элементов. Упорядочить по убыванию элементы массива.

  2. Сформировать одномерный массив из 10 элементов. Первые 5 элементов упорядочить по возрастанию, вторые 5 – по убыванию.

Пример 6. Сформировать двумерный массив вида:

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

Program primer;

Var

a: array [1..5, 1..5] of integer;

i, j: integer;

Begin

For i:=1 to 5 do

begin

For j:=1 to 5 do

begin

if i=j then a[i, j]:= 1 else a[i, j]:=0;

Write(a[ i, j]:3);

end;

Writeln;

end;

Readln;

End.

  1. Сформировать двумерный массив вида:

1 2 3 4 5

5 4 3 4 1

1 2 3 4 5

5 4 3 2 1

1 2 3 4 5

  1. Сформировать двумерный массив вида:

1 0 0 0 1

0 2 0 2 0

0 0 3 0 0

0 4 0 4 0

5 0 0 0 5

Резерв 1. Сформировать двумерный массив вида:

1 0 0 0 1

0 1 0 1 0

0 0 1 0 0

0 1 0 1 0

1 0 0 0 1

Резерв 2. Сформировать двумерный массив вида:

1 0 1 0 1

0 1 0 1 0

1 0 1 0 1

0 1 0 1 0

1 0 1 0 1

Пример 7. Вывести на экран матрицу размером M*N, элементами которой являются целые случайные числа из интервала [-9,9]. Определить минимальный элемент в каждой строке.

Program primer;

Const m=5, n=4;

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

min, k, j, i : integer;

begin

randomize;

for i:=1 to m do begin

for j:=1 to n do begin

a[i,j]:=random(18+1)-9; write(a[i,j]);

end;

writeln;

end;

for i:=1 to m do begin

min:=a[i,1]; for j:=2 to n do

if min>a[i,j] then min:=a[i,j] ;

writeln(min);

end;

end.

  1. Вывести на экран массив 5x5. Определить сумму элементов каждого столбца таблицы.

  2. Задана матрица 6x8. Отсортировать все строки по возрастанию.