Теперь с двумерным массивом =/
10-11 класс
|
Дано: массивы A1(N,B), A2(N2,M2), A3(N3,M3). Сформировать одномерные массивы B1,B2,B3, элементами каждого из которых являются количество единиц,двоек и троек в исходных массивах A1, A2, A3 соответственно. Формирование одномерного массива из трех элементов, содержащего количество единиц, двое и троек в исходном массиве, осуществить в подпрограмме и изобразить блоксхему.
PascalABC, тут надо также : "неученым языком(начальным уровнем)" написать с подпрограммой через PROCEDURE.Уповаю на вашу помощь... Заранее спасибо!
type
arr = array[,] of integer;
arrB = array[1..3] of integer;
var
i, n, m: integer;
A1, A2, A3: arr;
B1, B2, B3: arrB;
procedure FormB(var A: arr;var B:arrB);
var i, j, n, m: integer;
begin
n:= Length(A,0);
m:= Length(A,1);
for i := 0 to n-1 do
begin
for j := 0 to m-1 do
begin
A[i,j]:=random(10);
write(A[i,j]:2);
if A[i,j]=1 then B[1]:=B[1]+1;
if A[i,j]=2 then B[2]:=B[2]+1;
if A[i,j]=3 then B[3]:=B[3]+1
end;
writeln
end
end;
begin
write('Введите N1 и M1:');
readln(n,m);
SetLength(A1, n, m);
FormB(A1,B1);
write('Число единиц, двоек и троек соответственно равно: ');
for i := 1 to 3 do write(B1[i]:4);
writeln;
write('Введите N2 и M2:');
readln(n,m);
SetLength(A2, n, m);
FormB(A2,B2);
write('Число единиц, двоек и троек соответственно равно: ');
for i := 1 to 3 do write(B2[i]:4);
writeln;
write('Введите N3 и M3:');
readln(n,m);SetLength(A3, n, m);
FormB(A3,B3);
write('Число единиц, двоек и троек соответственно равно: ');
for i := 1 to 3 do write(B3[i]:4)
end.
Сделал еще вариант с двумя процедурами:
type
arr = array[,] of integer;
arrB = array[1..3] of integer;
var
A1, A2, A3: arr;
B1, B2, B3: arrB;
procedure FormB(var A: arr;var B:arrB);
var i, j, n, m: integer;
begin
for i:=1 to 3 do B[i]:=0;
n:= Length(A,0);
m:= Length(A,1);
for i := 0 to n-1 do
begin
for j := 0 to m-1 do
begin
A[i,j]:=random(10);
write(A[i,j]:2);
if A[i,j]=1 then B[1]:=B[1]+1;
if A[i,j]=2 then B[2]:=B[2]+1;
if A[i,j]=3 then B[3]:=B[3]+1
end;
writeln
end
end;
procedure Inp(var A: arr;var B:arrB);
var i,n,m:integer;
begin
write('Введите N и M: ');
readln(n,m);
SetLength(A, n, m);
FormB(A,B);
write('Число единиц, двоек и троек соответственно равно: ');
for i := 1 to 3 do write(B[i]:4);
writeln
end;
begin
Inp(A1,B1);
Inp(A2,B2);
Inp(A3,B3)
end.
Другие вопросы из категории
Я даю такое большое колличество пунктов .. имейте совесть господа. Не нужно прибегать к помощи он-лайн переводчика. Я это и сам могу сделать.
Напишите пожалуйста как правильно перевести текст.
Упор делается именно на правильность с точки зрения информатики.
Спасибо!
1.Viele angewandte Künstler besuchen diese Ausstellung, um sich an den neuen Ideen zu bereichern. 2. Es ist vorgesehen, in der Vorhalle die angewandten Kunstwerke zu verkaufen. 3. Die Absicht der Gruppe der Fernstudenten war, die Prüfung in der Geschichte vorfristig abzulegen. 4.Es handelt sich darum, die Leistungen in den Studentengruppen zu erhöhen. 5. Die Universität hat die Aufgabe, die leistungsfähigen Diplom-Fachkräfte qualitativ auszubilden.Немецкий язык
Читайте также
Найти произведение отрицательных элементов указанной строки двумерного массива размером 4*5 целых чисел.
В двумерном массиве М[1..6,1..4] определить индексы наименьшего элемента в каждой строчке.
наибольшему элементу в этом массиве. Вывести значение наибольшего элемента.
Имя массива J
Размер 32
Программа должна реализовывать следующие функции:
1.Сумма всех чисел
2.минимальное чётное число
3.кол-во отрицательных нечётных чисел
4.сумма отрицательных нечетных чисел
индексов элементов главной диагонали.Выведите на экран исходный и измененный массивы (программа на языке Паскаля)
2)Составьте программу формирования и вывода на экран одномерного массива, состоящего из удвоенных минимальных элементов строк двумерного массива, заданного с помощью датчика случайных чисел