
Пожалуйста составьте программу в паскале Дан массив, состоящий из 100 целых чисел. Выведите все
числа, которые встречаются в этом массиве: а) несколько раз; б) только по одному разу.

Ответы на вопрос

uses crt;
var
a:array[1..100] of integer;
i,j:integer;
procedure swap(var x,y: integer);
var t: integer;
begin
t := x;
x := y;
y := t
end;
begin
for i:=1 to 100 do a[i]:=random(100);
for j:=1 to 99 do
for i:=1 to 100-j do if a[i] > a[i+1] then swap(a[i],a[i+1]);
for i:=1 to 99 do if a[i]=a[i+1] then
begin
writeln(a[i]);
writeln(a[i+1]);
end;
end.
Второе задание. Программа также сортирует и сравнивает элементы
uses crt;
var
a:array[1..100] of integer;
i,j:integer;
procedure swap(var x,y: integer);
var t: integer;
begin
t := x;
x := y;
y := t
end;
begin
for i:=1 to 100 do a[i]:=random(100);
for j:=1 to 99 do
for i:=1 to 100-j do if a[i] > a[i+1] then swap(a[i],a[i+1]);
for i:=1 to 99 do if a[i]<>a[i+1] then
begin
writeln(a[i]);
end;
end.



Конечно, я могу помочь вам с составлением программы на языке Паскаль для решения данной задачи. Вот пример программы, которая выводит все числа, которые встречаются в массиве несколько раз и только по одному разу:
```pascal program FindDuplicateNumbers;
const ARRAY_SIZE = 100;
type IntArray = array[1..ARRAY_SIZE] of Integer;
procedure PrintDuplicates(numbers: IntArray); var i, j: Integer; begin for i := 1 to ARRAY_SIZE - 1 do begin for j := i + 1 to ARRAY_SIZE do begin if (numbers[i] = numbers[j]) then begin writeln('Duplicate number found: ', numbers[i]); break; end; end; end; end;
procedure PrintUnique(numbers: IntArray); var i, j: Integer; isUnique: Boolean; begin for i := 1 to ARRAY_SIZE do begin isUnique := true; for j := 1 to ARRAY_SIZE do begin if (i <> j) and (numbers[i] = numbers[j]) then begin isUnique := false; break; end; end; if isUnique then writeln('Unique number found: ', numbers[i]); end; end;
var numbers: IntArray; i: Integer;
begin // Заполнение массива случайными числами randomize; for i := 1 to ARRAY_SIZE do begin numbers[i] := random(100); // Диапазон случайных чисел от 0 до 99 write(numbers[i], ' '); end;
writeln; writeln('Duplicate numbers:'); PrintDuplicates(numbers);
writeln; writeln('Unique numbers:'); PrintUnique(numbers);
readln; end. ```
Эта программа создает массив из 100 случайных целых чисел и выводит все числа, которые встречаются в массиве несколько раз (пункт а) и только по одному разу (пункт б). Программа использует два процедуры: `PrintDuplicates` и `PrintUnique`, которые выполняют поиск дубликатов и уникальных чисел соответственно.
Обратите внимание, что я использовал генератор случайных чисел `randomize` для заполнения массива случайными значениями от 0 до 99. Вы можете изменить это, если вам нужны другие значения.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili