Теперь с двумерным массивом =/ Дано: массивы A1(N,B), A2(N2,M2), A3(N3,M3). Сформировать
Сейчас с двумерным массивом =/
Дано: массивы A1(N,B), A2(N2,M2), A3(N3,M3). Сформировать одномерные массивы B1,B2,B3, элементами каждого из которых являются количество единиц,двоек и троек в начальных массивах A1, A2, A3 соответственно. Формирование одномерного массива из 3-х частей, содержащего количество единиц, двое и троек в начальном массиве, выполнить в подпрограмме и изобразить блоксхему.
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
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.
Сделал еще вариант с 2-мя процедурами:
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.
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.
Сделал еще вариант с 2-мя процедурами:
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.
Ruslan
Ух,Алекс,спасибо для тебя,что истратил время на это! Мне это очень посодействовало!
Сергей Похоль
Пожалуйста! )) Полагаюсь, ошибок нет, а то в очах уже от буковок рябит))
Ярченко
Алексей
Желаю для вас отоспаться=)
Семён Чечейкин
Спасибо))
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов