Вопрос задан 22.03.2021 в 09:05. Предмет Информатика. Спрашивает Sahakyan Arman.

Даны два одномерных массива разной размерности заполнить их только нулями и единицами. Для каждого

из заданных одномерных массивов выполнить: поставить в начало этого массива все нули, а затем все единицы. Pascal
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает DELETED.

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.


Какие ситуации смог представил то и смог сделать. Тестером побудешь ты.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример кода на языке Pascal (Delphi), который выполняет указанные операции для двух заданных одномерных массивов:

pascal
program 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, которая определяет максимальный размер массива. Вы можете изменить эту константу, если вам требуются массивы большего размера.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос