Теперь с двумерным массивом =/ Дано: массивы A1(N,B), A2(N2,M2), A3(N3,M3). Сформировать одномерные массивы B1,B2,B3, элементами каждого из которых являются количество единиц,двоек и троек в исходных массивах A1, A2, A3 соответ...

Теперь с двумерным массивом =/  Дано: массивы 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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы