
Вопрос задан 21.10.2023 в 18:10.
Предмет Информатика.
Спрашивает Мальченко Кирилл.
• Помогите на паскале.дан целочисленный массив.удалить из массива все одинаковые элементы оставив
их последние вхождения.

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

Отвечает Кузнецов Слава.
Const n=30;
var a: array[1..n] of integer;
tek,k,i,j: integer;
begin
{ заполнение массива и вывод на экран }
for j:=1 to n do
begin
a[j]:=Random(20);
write(a[j],' ');
if (j mod 10 = 0) then writeln;
end;
writeln;
{ цикл обработки массива }
for i:=1 to n do
begin
tek:=a[i];
k:=i;
{ просмотр на повторные }
for j:=i+1 to n do
begin
if (a[j]=tek) then
begin
a[k]:=0;
k:=j;
end;
end;
end; { конец обработки массива }
{ вывод итогового массива на экран }
for i:=1 to n do
begin
write(a[i],' ');
if (i mod 10 = 0) then writeln;
end;
end.
var a: array[1..n] of integer;
tek,k,i,j: integer;
begin
{ заполнение массива и вывод на экран }
for j:=1 to n do
begin
a[j]:=Random(20);
write(a[j],' ');
if (j mod 10 = 0) then writeln;
end;
writeln;
{ цикл обработки массива }
for i:=1 to n do
begin
tek:=a[i];
k:=i;
{ просмотр на повторные }
for j:=i+1 to n do
begin
if (a[j]=tek) then
begin
a[k]:=0;
k:=j;
end;
end;
end; { конец обработки массива }
{ вывод итогового массива на экран }
for i:=1 to n do
begin
write(a[i],' ');
if (i mod 10 = 0) then writeln;
end;
end.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для удаления из массива всех одинаковых элементов, оставив только их последние вхождения, вы можете использовать следующий код на языке Pascal:
pascalprogram RemoveDuplicateElements; var arr: array of Integer; i, j, k, n: Integer; begin // Ввод размера массива Write('Введите размер массива: '); Readln(n); // Инициализация массива SetLength(arr, n); // Ввод элементов массива for i := 0 to n - 1 do begin Write('Введите элемент массива arr[', i, ']: '); Readln(arr[i]); end; // Удаление одинаковых элементов (оставляем последние вхождения) for i := 0 to n - 1 do begin for j := i + 1 to n - 1 do begin if (arr[i] = arr[j]) then begin // Если находим одинаковые элементы, удаляем элемент arr[i] for k := i to n - 2 do begin arr[k] := arr[k + 1]; end; n := n - 1; i := i - 1; // Проверяем текущий элемент еще раз end; end; end; // Вывод результата Writeln('Массив после удаления одинаковых элементов:'); for i := 0 to n - 1 do begin Write(arr[i], ' '); end; Writeln; end.
Этот код сначала вводит целочисленный массив, а затем проходит по массиву, удаляя все одинаковые элементы, оставляя только последние вхождения. Результат выводится на экран.


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