Вопрос задан 21.10.2023 в 18:10. Предмет Информатика. Спрашивает Мальченко Кирилл.

• Помогите на паскале.дан целочисленный массив.удалить из массива все одинаковые элементы оставив

их последние вхождения.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кузнецов Слава.
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.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для удаления из массива всех одинаковых элементов, оставив только их последние вхождения, вы можете использовать следующий код на языке Pascal:

pascal
program 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.

Этот код сначала вводит целочисленный массив, а затем проходит по массиву, удаляя все одинаковые элементы, оставляя только последние вхождения. Результат выводится на экран.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос