
Даны два одномерных массива разной размерности заполнить их только нулями и единицами. Для каждого
из заданных одномерных массивов выполнить: поставить в начало этого массива все нули, а затем все единицы. 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.
Какие ситуации смог представил то и смог сделать. Тестером побудешь ты.



Вот пример кода на языке Pascal (Delphi), который выполняет указанные операции для двух заданных одномерных массивов:
pascalprogram ArrayManipulation; const MAX_SIZE = 10; // Максимальный размер массива type TArray = array[1..MAX_SIZE] of Integer; procedure FillArrayWithZerosAndOnes(var arr: TArray; size: Integer); var i: Integer; begin for i := 1 to size do begin if i <= (size div 2) then arr[i] := 0 else arr[i] := 1; end; end; procedure PrintArray(const arr: TArray; size: Integer); var i: Integer; begin for i := 1 to size do Write(arr[i], ' '); Writeln; end; var array1, array2: TArray; size1, size2: Integer; begin Write('Введите размер первого массива (не более ', MAX_SIZE, '): '); Readln(size1); Write('Введите размер второго массива (не более ', MAX_SIZE, '): '); Readln(size2); if (size1 <= 0) or (size1 > MAX_SIZE) or (size2 <= 0) or (size2 > MAX_SIZE) then begin Writeln('Ошибка: некорректный размер массива.'); Exit; end; FillArrayWithZerosAndOnes(array1, size1); FillArrayWithZerosAndOnes(array2, size2); Writeln('Первый массив:'); PrintArray(array1, size1); Writeln('Второй массив:'); PrintArray(array2, size2); Readln; end.
Программа запрашивает у пользователя размеры двух массивов (не более MAX_SIZE
) и затем использует процедуру FillArrayWithZerosAndOnes
для заполнения массивов нулями и единицами в нужном порядке. Функция PrintArray
используется для вывода массивов на экран.
Обратите внимание, что данная программа использует константу MAX_SIZE
, которая определяет максимальный размер массива. Вы можете изменить эту константу, если вам требуются массивы большего размера.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili