Вопрос задан 20.02.2019 в 23:27. Предмет Информатика. Спрашивает Дивульская Татьяна.

Паскаль! Автоматически задается массив, сост. из 20 элементов. Все четные элементы заменить нулями.

Нули поставить в конец массива. Помогите!!! Я уже заменила все четные, поняла сам процесс, как их поставить в конец, но не соображу, как правильнее записать. !!!
0 0
Перейти к ответам

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

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

program P1;
uses
crt;
var
mas : array[1..20] of integer;
i,j,k : integer;
tmp : string;
begin

clrscr;

writeln('Start array: ');

for i := 1 to 20 do
begin

mas[i] := random(100);

write(mas[i],' ');

end;


for i := 1 to 20 do
begin

if mas[i] mod 2 = 0 then
mas[i] := 0;

end;

 

for i := 1 to 20 do
begin

if mas[i] = 0 then
begin

for j := 20 downto i do
if mas[j] <> 0 then
begin

k := mas[j];
mas[j] := mas[i];
mas[i] := k;

end;

end;

end;


writeln('');
writeln('Result array: ');

for i := 1 to 20 do
write(mas[i],' ');


readln(tmp);
read(tmp);


end.

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

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

Вот пример кода, который решает данную задачу:

```pascal program ReplaceAndMoveZeros; const SIZE = 20; var arr: array[1..SIZE] of Integer; i, j, temp: Integer; begin // Заполнение массива автоматически for i := 1 to SIZE do arr[i] := i;

// Замена четных элементов на нули for i := 1 to SIZE do begin if arr[i] mod 2 = 0 then arr[i] := 0; end;

// Перемещение нулей в конец массива j := 1; for i := 1 to SIZE do begin if arr[i] <> 0 then begin temp := arr[i]; arr[i] := arr[j]; arr[j] := temp; Inc(j); end; end;

// Вывод массива for i := 1 to SIZE do Write(arr[i], ' '); end. ```

В этом коде мы используем цикл `for` для заполнения массива автоматически и замены четных элементов на нули. Затем мы используем еще один цикл `for` для перемещения нулей в конец массива. Наконец, мы выводим полученный массив.

Обратите внимание, что в данном примере массив заполняется автоматически числами от 1 до 20. Если вам нужно задать массив с другими значениями, вы можете изменить эту часть кода.

Надеюсь, это поможет вам решить вашу задачу! Если у вас возникнут еще вопросы, не стесняйтесь задавать.

0 0

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

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

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