Даны два одномерных массива разной размерности заполнить их только нулями и единицами. для каждого из заданных одномерных массивов выполнить: поставить в начало этого массива все нули, а затем все единицы. pascal
Ответы на вопрос:
var x,y : array of integer;
j,i,o,e,n1,n2 : integer;
begin
writeln('первый массив');
writeln('сколько нулей? ');
readln(o);
writeln('сколько единиц? ');
readln(e);
writeln('с какого числа начинаются единицы по размеру массива? ');
readln(n1);
writeln('с какого числа начинаются нули по размеру массива? ');
readln(n2);
if (n1 > n2) and (e > o) then
begin
setlength(x,(n1+e));
end
else
begin
setlength(x,(n2+o))
end;
for i: = 0 to 10 do
begin
write('-': 2);
end;
writeln();
writeln('заполнение первого массива');
for i: = 0 to 10 do
begin
write('-': 2);
end;
writeln();
if (n1 > n2) and (e > o) then
begin
for i: = 0 to (n1+e) do
begin
if e = 0 then
begin
end
else
begin
x[i] : =0;
end;
for j : = n1 to (n1+e) do
begin
x[j] : = 1;
end;
end;
end
else
begin
for i: = 0 to (n2+o) do
begin
if o = 0 then
begin
end
else
begin
x[i] : =0;
end;
for j : = n1 to (n1+e) do
begin
x[j] : = 1;
end;
end;
end;
if (n1 > n2) and (e > o) then
begin
for i: = 0 to (n1+e) do
begin
write(x[i],' ');
end;
end
else
begin
for i: = 0 to (n2+o) do
begin
write(x[i],' ');
end;
end;
writeln();
writeln('второй массив');
writeln('сколько нулей? ');
readln(o);
writeln('сколько единиц? ');
readln(e);
writeln('с какого числа начинаются единицы по размеру массива? ');
readln(n1);
writeln('с какого числа начинаются нули по размеру массива? ');
readln(n2);
if (n1 > n2) and (e > o) then
begin
setlength(y,(n1+e));
end
else
begin
setlength(y,(n2+o))
end;
for i: = 0 to 10 do
begin
write('-': 2);
end;
writeln();
writeln('заполнение второго массива');
for i: = 0 to 10 do
begin
write('-': 2);
end;
writeln();
if (n1 > n2) and (e > o) then
begin
for i: = 0 to (n1+e) do
begin
if e = 0 then
begin
end
else
begin
y[i] : =0;
end;
for j : = n1 to (n1+e) do
begin
y[j] : = 1;
end;
end;
end
else
begin
for i: = 0 to (n2+o) do
begin
if o = 0 then
begin
end
else
begin
y[i] : =0;
end;
for j : = n1 to (n1+e) do
begin
y[j] : = 1;
end;
end;
end;
if (n1 > n2) and (e > o) then
begin
for i: = 0 to (n1+e) do
begin
write(y[i],' ');
end;
end
else
begin
for i: = 0 to (n2+o) do
begin
write(y[i],' ');
end;
end;
end.
какие ситуации смог представил то и смог сделать. тестером побудешь ты.
Популярно: Информатика
-
pozdniakova199826.06.2023 14:14
-
Karinaa1111113.11.2020 14:04
-
isaev40daniil1408.09.2021 19:52
-
zakirovAlesha17Алёша23.03.2023 14:19
-
supermichail2930.08.2022 11:57
-
MRLamaKing25.08.2021 20:19
-
сссссср22219.04.2023 06:43
-
zlu4ka1118.06.2023 06:32
-
rowa9712men09.05.2022 05:38
-
Kpuc210027.10.2022 03:57