Определить количество различных элементов в данном массиве - Turbo Pascal

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

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

Дан одномерный массив ненулевых целых чисел размера N/ 1.Определить количество различных элементов в данном массие, найти произведение этих элементов; 2.После каждого отрицательного элемента массива вставить элемент с нулевым значением; 3. Осуществить циклический сдвиг элементов массива вставить элемент вправо на одну позицию. для откладки программы исходный массив сформировать с помощью генератора случайных чисел.

Решение задачи: «Определить количество различных элементов в данном массиве»

textual
Листинг программы
  1. var
  2. a: array [1..30] of integer;
  3. j,temp,N,i:integer;
  4. begin
  5. writeln('Введите N (N<=10)');
  6.  readln(N);
  7. writeln('Значения массива А');
  8. for i:=1 to n do begin write('a[',i,']=');readln(A[i]); end;
  9. // решение
  10. temp:=0;
  11. for i:=1 to n do
  12. begin
  13. if a[i]<0 then inc(temp);
  14. end;
  15.  j:=n;
  16. for i:=n+temp downto 1 do
  17. begin
  18. if a[j]<0 then begin a[i]:=0; dec(i); end;
  19.  a[i]:=a[j];
  20.  dec(j);
  21. end;
  22. n:=n+temp;
  23. Writeln('Ответ');
  24. Writeln;
  25. Write(' A[]: '); for i:=1 to n do Write(A[i],' ');
  26. end.

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

  1. Создается переменная a типа array [1..30] of integer. Это означает, что a является массивом из 30 элементов типа integer.
  2. Затем определяются три переменные: j, temp и N. Переменная j инициализируется значением n, а переменная temp инициализируется значением 0. Переменная N инициализируется значением, введенным пользователем.
  3. Выводится сообщение Введите N (N<=10). Это предложение предлагает пользователю ввести значение N, которое должно быть меньше или равно 10.
  4. Выводится сообщение Значения массива А. Это сообщение указывает, что будет выводиться содержимое массива A.
  5. Запускается цикл for, который начинается с i=1 и продолжается до i<=n. Внутри цикла выводится значение a[i] с помощью функции write. После этого вызывается функция readln, чтобы пользователь мог ввести значение для A[i].
  6. Внутри цикла for переменной j присваивается значение n. Это означает, что j будет указывать на последний элемент массива A.
  7. Запускается еще один цикл for, который начинается с i=n+temp и продолжается до i>=1. Внутри цикла проверяется, является ли значение a[i] отрицательным. Если это так, то значение i увеличивается на 1, и переменная a[i] устанавливается в 0.
  8. После завершения внутреннего цикла for переменная j уменьшается на 1 с помощью функции dec.
  9. Значение a[i] копируется из переменной j в переменную a[i-1]. Это означает, что значение a[i] заменяется значением a[i-1].
  10. Переменная j снова уменьшается на 1 с помощью функции dec.
  11. Цикл for завершается, и выводится сообщение Ответ.
  12. Выводится пустая строка с помощью функции writeln.
  13. Выводится сообщение A[]: с помощью функции write.
  14. Запускается цикл for, который начинается с i=1 и продолжается до i<=n. Внутри цикла выводится значение A[i] с помощью функции write.

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


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

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

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

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

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

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