Задача на массивы через процедуру - Pascal
Формулировка задачи:
Нужно сформировать с использованием процедуры массив элементов, каждый из которых встречается в массиве B1, B2, ..., Bn не более одного раза.
Напишите программу, плиз.
Решение задачи: «Задача на массивы через процедуру»
textual
Листинг программы
- const m = 15;
- type arr = array [1..m] of integer;
- procedure unique(x: arr; var y: arr; var n: integer);
- var i, j: integer;
- f: boolean;
- begin
- n := 0;
- for i := 1 to m do
- begin
- f := true;
- for j := 1 to m do f := f and ((i = j) or (x[j] <> x[i]));
- if f
- then begin
- inc(n);
- y[n] := x[i]
- end
- end
- end;
- var b, c: arr;
- i, k: integer;
- begin
- randomize;
- writeln('Source array:');
- for i := 1 to m do
- begin
- b[i] := -9 + random(19);
- write(b[i]:4)
- end;
- writeln;
- unique(b, c, k);
- writeln('Unique elements:');
- if k = 0
- then write('Not found')
- else for i := 1 to k do write(c[i]:4);
- readln
- end.
Объяснение кода листинга программы
- Константа
m
установлена на значение 15. - Определён тип
arr
как массив целых чисел от 1 доm
. - Создана процедура
unique
с параметрамиx
(массив),y
(массив) иn
(целое число). - В процедуре
unique
объявлены переменныеi
,j
иf
как целые числа иboolean
соответственно. - В процедуре
unique
переменнойn
присвоено значение 0. - В цикле от 1 до
m
производится проверка уникальности элементов массиваx
и, при выполнении условия, увеличивается значение переменнойn
и добавляется уникальный элемент в массивy
. - Объявлен массив
b
иc
как массивы типаarr
и переменныеi
иk
как целые числа. - Генерируются случайные числа и выводится массив
b
. - Вызывается процедура
unique
с параметрами массиваb
, массиваc
и переменнойk
. - Выводятся уникальные элементы массива
c
. - Пользователь вводит что-то с клавиатуры.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д