Двумерный массив
Вид материала | Задача |
- Конспект по теме: Двумерные массивы Учитель информатики Батракова, 97.71kb.
- Лекция 7, 198.43kb.
- Контрольная работа №1 «Основные понятия языка Паскаль», 83.52kb.
- Отчет по курсовой работе должен содержать, 46.07kb.
- Урок n 28 массивы спонятием "массив", 117.65kb.
- Типовые задачи на Паскале (массивы) Массив, 135.63kb.
- Одномерный массив. Понятие. Описание, 104.02kb.
- Правила вычисления адресного выражения, 75.5kb.
- Лекции по дисциплине «Основы алгоритмизации и программирования», 364.77kb.
- Одномерные и двумерные массивы (таблицы) Массив, 105.09kb.
Двумерный массив
ЗАДАЧА 1.
Дан двумерный массив. Найти сумму элементов столбца в котором находится максимальный элемент массива.
Решение:
Program pr1;
uses crt;
Var
a: array[1..10,1..10] of integer;
i,j,l:integer;
s,max:integer;
Begin
clrscr;
randomize;
for i:=1 to 5 do
for j:=1 to 6 do
a[i,j]:=random(40);
for i:=1 to 5 do
begin
for j:=1 to 6 do
write(a[i,j]:4);
writeln;
end;
max:=a[1,1];
for i:=1 to 5 do
for j:=1 to 6 do
if a[i,j]>max then max:=a[i,j];
writeln('max=',max);
for j:=1 to 6 do
for i:=1 to 5 do
if a[i,j]=max then
begin
l:=j;
s:=0;
for i:=1 to 5 do s:=s+a[i,l];
writeln('s',l,'=',s);
end;
readkey;
End.
ЗАДАЧА 2.
Дан двумерный массив. Определить есть ли в данном массиве строка состоящая только из отрицательных элементов.
Решение:
Program pr2;
uses crt;
Var
a: array[1..10,1..10] of integer;
i,j,h,k:integer;
Begin
clrscr;
randomize;
for i:=1 to 5 do
for j:=1 to 6 do
a[i,j]:=random(10)-8;
for i:=1 to 5 do
begin
for j:=1 to 6 do
write(a[i,j]:4);
writeln;
end;
h:=0;
for i:=1 to 5 do
begin
j:=0;
k:=0;
while j<7 do
begin
j:=j+1;
if a[i,j]<0 then k:=k+1;
end;
if k=6 then h:=h+1;
end;
if h<>0 then writeln('В массиве есть строки состоящие только из отрицательных элементов');
readkey;
End.
ЗАДАЧА 3.
Дан двумерный массив. Сформировать одномерный массив каждый элемент которого равен количеству положительных элементов (включая 0 ) соответствующего столбца.
Решение:
Program pr3;
uses crt;
Var
a: array[1..10,1..10] of integer;
b: array[1..10] of integer;
i,j,k:integer;
Begin
clrscr;
randomize;
for i:=1 to 5 do
for j:=1 to 6 do
a[i,j]:=random(10)-3;
for i:=1 to 5 do
begin
for j:=1 to 6 do
write(a[i,j]:4);
writeln;
end;
for j:=1 to 6 do
begin
k:=0;
for i:=1 to 5 do
if a[i,j]>=0 then k:=k+1;
b[j]:=k;
end;
writeln('Полученный массив');
for i:=1 to 6 do write(b[i]:4);
Readkey;
End.
ЗАДАЧА 4.
Дан двумерный массив. Поменять местами две строки.
Решение:
Program pr4;
uses crt;
Var
a: array[1..10,1..10] of integer;
i,j,p,q,t:integer;
Begin
clrscr;
randomize;
for i:=1 to 5 do
for j:=1 to 6 do
a[i,j]:=random(10)-3;
for i:=1 to 5 do
begin
for j:=1 to 6 do
write(a[i,j]:4);
writeln;
end;
writeln('Введите номера строк, которые нужно поменять местами');
readln(p);
readln(q);
for j:=1 to 6 do
begin
t:=a[p,j];
a[p,j]:=a[q,j];
a[q,j]:=t;
end;
writeln('Полученная матрица ');
for i:=1 to 5 do
begin
for j:=1 to 6 do
write(a[i,j]:4);
writeln;
end;
Readkey;
End.
ЗАДАЧА 6.
Сформировать двумерный массив по следующему правилу:

Решение:
Program pr6;
uses crt;
Var
a: array[1..10,1..10] of integer;
i,j,n:integer;
Begin
clrscr;
writeln(введите размерность= ');
readln(n);
for i:=1 to n do
for j:=1 to n do
if (i<>1) and (i<>n) and (j<>1) and (j<>n) then a[i,j]:=1 else a[i,j]:=0;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
Readkey;
End.0>7>