Document

Report
Одномерные массивы
Решение задач
Табличный способ организации
данных
Одномерные и двумерные
массивы
Таблицей или массивом называют набор
однотипных данных расположенных в
несколько строк одинаковой длины.
Бывают одномерные и двумерные массивы.
А= {1,3,-4,100}
1 1 3 4
A= 3 8 1 5
1 1 -2 2
одномерный массив размерности 4
двумерный массив размерности 3х4
Одномерным массивом размерности
n называется массив содержащий n
элементов. Доступ к элементу
одномерного массива
осуществляется по его номеру.
Запись A[ i ] означает, что элемент
стоит на i-том месте. i- это индекс
одномерного массива.
А= {1,3,-4,100}
A[3]=
A[4]=
A[6]=
Двумерным массивом размерности nхm
называется массив содержащий n строк и m
столбцов. Доступ к элементу двумерного
массива осуществляется по номеру строки и
номеру столбца. Запись A[ i,j ] означает, что
элемент стоит на пересечении i-той строки и
j-того столбца. i, j - это индексы двумерного
массива.
1 1 3 4
A= 3 8 1 5
1 1 -2 2
A[1,3]=
A[3,1]=
A[4,3]=
Описание массива
VAR ИМЯ МАССИВА: ARRAY[T1] OF T2
где T1- тип индекса T2- тип элементов
массива
Например:
VAR a: array [1..10] of integer;
var b: array [1..5,1..7] of integer;
Напоминание: найти сумму всех элементов одномерного
массива
program a5;
var n,i,s: integer;
a:array [1..10] of integer;
Begin
read(n);
for i:=1 to n do
begin
a[i]:=random(100);
write('a[',i,']=',a[i]);
end;
s:=0;
for i:=1 to n do
s:=s+a[i];
write(‘s=‘,s);
6. Найти сумму элементов массива, кратных заданному
числу.
program a6;
var n,i,s: integer;
a:array [1..10] of integer;
Begin
read(n); read(q);
for i:=1 to n do
begin
a[i]:=random(100);
write('a[',i,']=',a[i]);
end;
s:=0;
for i:=1 to n do
if a[i] mod q = 0 then
s:=s+a[i];
write(‘s=‘,s);
End.
3. Даны два одномерных массива из целых чисел, разной
размерности. Найти целую часть среднего арифметического
элементов каждого массива и их сумму.
n=4; m=6
A: (12, 3, 5, 6)
B: (1, 13, 3, 1, 3, 5)
Среднее арифметическое из 4 чисел= сумма всех 4-х
чисел, деленное на 4 (количество чисел)
Решение:
1) Заполнить массивы А и В случайными числами
2) Найти суммы всех элементов этих массивов
(s1,s2)
3) Найти средние арифметические (p1 и p2), их
сумму (р)
3. Даны два одномерных массива из целых чисел, разной
размерности. Найти целую часть среднего арифметического
элементов каждого массива и их сумму.
program a2;
var n,m,i,s1,s2: integer;
p1,p2,p:real;
a, b :array [1..10] of integer;
begin
write('n=');read(n);
write('m=');read(m); writeln;
for i:=1 to n do begin
a[i]:=random(100);
write(' a[',i,']=',a[i]);
end; writeln;
for i:=1 to m do begin
b[i]:= random(50);
write(' b[',i,']=',b[i]);
end; writeln;
3. Даны два одномерных массива из целых чисел, разной
размерности. Найти целую часть среднего арифметического
элементов каждого массива и их сумму.
s1:=0;
for i:=1 to n do s1:=s1+a[i];
p1:= s1/n; p1:=int(p1);
writeln('сред. арифм массива
А=',p1);
s2:=0;
for i:=1 to m do
s2:=s2+b[i];
p2:= s2/m; p2:=int(p2);
writeln('сред. арифм
массива B=',p2);
p:=p1+p2;
writeln('их сумма=',p);
end.
Дома:
4. Решить предыдущую задачу для 3-х
массивов.
10. Дан массив целых чисел. Найти сумму
элементов массива, больших данного числа
q, вводимого с клавиатуры.
5. Даны три одномерных массива из целых чисел одинаковой
размерности. Сформировать четвертый массив, каждый элемент
которого равен максимальному из соответствующих элементов
первых трех массивов.
n=4
A: (12, 3, 5, 6)
B: (1, 13, 3, 1)
C: (3, 1, 1, 8)
D: (12, 13, 5, 8)
напоминание: Дано a,b,c – числа введенные с
клавиатуры, найти максимальное.
program a3;
var a,b,c, max: integer;
begin
write(‘a=‘); read (a);
write(‘b=‘); read (b);
write(‘c=‘); read (c);
If (a>b) and (а>c) then max:=a;
If (b>a) and (b>c) then max:=b;
If (c>b) and (c>a) then max:=c;
write (‘max=’,max)
end.
5. Даны три одномерных массива из целых чисел одинаковой
размерности. Сформировать четвертый массив, каждый элемент
которого равен максимальному из соответствующих элементов
первых трех массивов.
max:=a[1];
program a4;
for i:=1 to n do begin
var n,i,max: integer;
if (a[i]>b[i]) and (a[i]>c[i]) then max:= a[i];
a, b, c, d:array [1..10] of
if (b[i]>a[i]) and (b[i]>c[i]) then max:= b[i];
integer;
if (c[i]>b[i]) and (c[i]>a[i]) then max:= c[i];
Begin
d[i]:=max; write(' d[',i,']=',d[i]);
read(n);
end;
for i:=1 to n do
end.
begin
a[i]:=random(100);
write('a[',i,']=',a[i]);
b[i]:= random(50);
write(' b[',i,']=',b[i]);
c[i]:= random(50);
writeln(' c[',i,']=',c[i]);
end;
Самостоятельно:
7. Найти количество положительных и
отрицательных элементов массива.
8. Составить программу записи в массив В
номеров четных элементов массива А.
9. Найти номер последнего отрицательного
элемента в массиве.
11. Дан массив целых чисел. Найти сумму
элементов массива, принадлежащих
промежутку от q до t, вводимых с клавиатуры.
12. Дан массив из различных целых чисел (нет
совпадений). Найти максимальный элемент
массива и его номер.

similar documents