Не выводится "преобразованный массив" - Free Pascal

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

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

Листинг программы
  1. program example_kr4;
  2. type vector = array [0..100] of integer;
  3. var i, j, n: word; a: vector;
  4. begin
  5. randomize;
  6. write(‘сколько элементов в массиве?‘); readln(n);
  7. n:=n-1;
  8. for i:= 0 to n do
  9. begin
  10. a[i]:=-100 +random(200);
  11. write(a[i]:6); end;
  12. writeln;
  13. i:=0;
  14. while i<= n do
  15. if not odd(a[i]) then
  16. begin
  17. for j:=i to n-1 do a[j]:=a[j+1];
  18. a[n]:=0;end
  19. else i:= i+1;
  20. writeln(‘преобразованный массив: ‘);
  21. for i:=0 to n do write(a[i]:6);
  22. end.

Решение задачи: «Не выводится "преобразованный массив"»

textual
Листинг программы
  1. type vector = array [1..100] of integer;
  2. var i, j, n: word;
  3.     a: vector;
  4. begin
  5. randomize;
  6. write('сколько элементов в массиве?');
  7. readln(n);
  8. for i:= 1 to n do
  9.  begin
  10.   a[i]:=-100 +random(200);
  11.   write(a[i]:4);
  12.  end;
  13. writeln;
  14. i:=n;
  15. while i>=1 do
  16. if not odd(a[i]) then
  17.  begin
  18.   if i=n then a[n]:=0
  19.   else
  20.    begin
  21.     for j:=i to n-1 do a[j]:=a[j+1];
  22.     a[n]:=0;
  23.    end;
  24.   i:=i-1;
  25.  end
  26. else i:=i-1;
  27. writeln('преобразованный массив:');
  28. for i:=1 to n do write(a[i]:4);
  29. end.

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

  1. Объявление переменных:
    • type vector = array [1..100] of integer; - объявление типа данных для массива a
    • var i, j, n: word; - объявление переменных для цикла и количества элементов массива
    • a: vector; - объявление массива
  2. Инициализация генератора случайных чисел:
    • randomize;
  3. Ввод количества элементов массива:
    • write('сколько элементов в массиве?');
    • readln(n);
  4. Заполнение массива случайными числами:
    • for i:= 1 to n do
    • begin
    • a[i]:=-100 +random(200);
    • write(a[i]:4);
    • end;
  5. Удаление последнего элемента массива и перестановка элементов для выравнивания:
    • i:=n;
    • while i>=1 do
    • begin
    • if not odd(a[i]) then
    • begin
    • if i=n then a[n]:=0
    • else
    • begin
    • for j:=i to n-1 do a[j]:=a[j+1];
    • a[n]:=0;
    • end;
    • i:=i-1;
    • end
    • else i:=i-1;
    • end;
  6. Вывод преобразованного массива:
    • writeln('преобразованный массив:');
    • for i:=1 to n do write(a[i]:4); Примечание: данный код предполагает, что входные данные всегда корректны и не вызовут ошибок при обработке. Например, он не проверяет, является ли введенное значение для n положительным числом.

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


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

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

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы