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.
Какие ситуации смог представил то и смог сделать. Тестером побудешь ты.
//PascalABC.NET v3.3 1633
var arr: array [1..6, 1..6] of integer;
begin
for var i:=1 to 6 do
for var j:=1 to 6 do
arr[i, j]:=random(-49, 50);
writeln('Исходный массив: ');
for var i:=1 to 6 do
arr[i].PrintLn(', ');
var num:=0;
for var i:=1 to 6 do
if arr[i, 2] < 0 then num += 1;
writeln('Количество отрицательных элементов второго столбца: '+num);
for var i:=1 to 6 do
for var j:=1 to 6 do
if arr[i, j] > 0 then arr[i, j]:=-49;
writeln('Новый массив: ');
for var i:=1 to 6 do
arr[i].PrintLn(', ');
end.
1*128*x*32=1024
4096x=1024
x=0,25
получается четверть строки.