Из заданного массива создать три массива, в одном из которых содержатся элементы кратные 2, в другом кратные 5 - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Из заданного массива создать три массива, в одном из которых содержатся элементы кратные 2, в другом кратные 5, в третьем оставшиеся элементы.
Не пойму почему он выводит ерунду)

Решение задачи: «Из заданного массива создать три массива, в одном из которых содержатся элементы кратные 2, в другом кратные 5»

textual
Листинг программы
const n=10;
var a,b,c,d:array [1..n] of integer;
i,bi,ci,di:integer;
begin
writeln('Исходный массив:');
for i:=1 to n do
begin
   a[i]:=random(55);
   write(a[i],' ');
end;
bi:=0;
ci:=0;
di:=0;
for i:=1 to n do
begin
   if (a[i] mod 2 = 0) then
      begin
         inc(bi);
         b[bi]:=a[i];
      end;
   if (a[i] mod 5 = 0) then
      begin
         inc(ci);
         c[ci]:=a[i];
      end;
  if (a[i] mod 5 <> 0) and (a[i] mod 2 <>0) then
      begin
         inc(di);
         d[di]:=a[i];
      end;
 end;
 writeln;
 if bi>0 then
 begin
 writeln('Массив чисел,кратных 2:');
 for i:=1 to bi do
 write(b[i],' ');
 writeln;
 end
 else writeln('Чисел,кратных 2 нет.');
 if ci>0 then
 begin
 writeln('Массив чисел,кратных 5:');
 for i:=1 to ci do
 write(c[i],' ');
 writeln;
 end
 else writeln('Чисел,кратных 5 нет.');
 if di>0 then
 begin
 writeln('Оставшиеся числа:');
 for i:=1 to di do
 write(d[i],' ');
 writeln;
 end
 else writeln('Лишних чисел нет.');
 readln;
 end.

Объяснение кода листинга программы

  1. Создается переменная n со значением 10.
  2. Создаются четыре переменные a, b, c и d типа array[1..n] of integer.
  3. Создаются три переменные i, bi, ci и di типа integer.
  4. Выводится сообщение «Исходный массив:» и для каждого элемента массива a выводится его значение.
  5. Переменная bi инициализируется значением 0.
  6. Переменная ci инициализируется значением 0.
  7. Переменная di инициализируется значением 0.
  8. Запускается цикл for для каждого элемента массива a.
  9. Внутри цикла проверяется, делится ли значение текущего элемента на 2 без остатка.
  10. Если это так, то значение элемента увеличивается на 1, и в переменную bi записывается значение текущего элемента.
  11. Если значение текущего элемента делится на 5 без остатка, то значение элемента увеличивается на 1, и в переменную ci записывается значение текущего элемента.
  12. Если значение текущего элемента не делится ни на 2, ни на 5, то значение элемента увеличивается на 1, и в переменную di записывается значение текущего элемента.
  13. После завершения цикла for выводится сообщение и результаты.
  14. Если значение переменной bi больше 0, выводится сообщение и для каждого элемента массива b выводится его значение.
  15. Если значение переменной ci больше 0, выводится сообщение и для каждого элемента массива c выводится его значение.
  16. Если значение переменной di больше 0, выводится сообщение и для каждого элемента массива d выводится его значение.
  17. Программа завершается, ожидая ввода пользователя.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы