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

0 голосов
49 просмотров

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


Информатика (140 баллов) | 49 просмотров
Дан 1 ответ
0 голосов

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.


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

(654k баллов)