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

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

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

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

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

textual
Листинг программы
var
a: array [1..30] of integer;
j,temp,N,i:integer;
begin
writeln('Введите N (N<=10)');
 readln(N);
writeln('Значения массива А');
for i:=1 to n do begin write('a[',i,']=');readln(A[i]); end;
// решение 
temp:=0;
for i:=1 to n do
begin
if a[i]<0 then inc(temp);
end;
 j:=n;
for i:=n+temp downto 1 do
begin
if a[j]<0 then begin a[i]:=0; dec(i); end;
 a[i]:=a[j];
 dec(j);
end;
n:=n+temp;
Writeln('Ответ');
Writeln;
Write(' A[]: '); for i:=1 to n do Write(A[i],' ');
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
Похожие ответы