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

    PascalABC, тут надо также : "неученым языком(начальным уровнем)" написать с подпрограммой через PROCEDURE.Уповаю на вашу помощь... Заранее спасибо!

Ответы 1

  • 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  endend;beginwrite('Введите 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;beginfor 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  endend;procedure Inp(var A: arr;var B:arrB);var i,n,m:integer;beginwrite('Введите N и M: ');readln(n,m);SetLength(A, n, m);FormB(A,B);write('Число единиц, двоек и троек соответственно равно: ');for i := 1 to 3 do write(B[i]:4);writelnend;beginInp(A1,B1);Inp(A2,B2);Inp(A3,B3)end.
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years