Массив с неповторимыми элементами. Даю 99 баллов.

0 голосов
25 просмотров

Массив с неповторимыми элементами. Даю 99 баллов.


image

Информатика (14 баллов) | 25 просмотров
0

На каком языке?

0

pascal abc

0

или C++

Дано ответов: 2
0 голосов

//PascalABC.NET/FPC/Delphi/Lazarus
var
  A: array of integer;
  i, kM, N, j, k: byte;
begin
  randomize;
  write('Размер массива = ');
  readln(N);
  write('kM = ');
  readln(kM);
  SetLength(A, N);
  write('Исходный массив: ');
  for i := 0 to N - 1 do
  begin
    A[i] := random(5) + 1;
    write(A[i]:3);
  end;
  writeln;
  i := 0;
  while i <= kM do<br>  begin
    j := i + 1;
    while j <= kM do<br>    begin
      if A[j] = A[i] then
      begin
        for k := j to kM - 1 do
          A[k] := A[k + 1];
        kM := kM - 1;
      end
      else
        j := j + 1;
    end;
    i := i + 1;
  end;
  write('Измененный массив: ');
  for i := kM + 1 to N - 1 do A[i] := 0;
  for i := 0 to N - 1 do write(A[i]:3);
  writeln;
end.

Пример:
Размер массива = 10
kM = 6
Исходный массив:   5  1  1  2  5  2  5  1  4  5
Измененный массив:   5  1  2  0  0  0  0  0  0  0


image
(9.4k баллов)
0

Спасибо

0

Дополнительных переменных 3 вместо 2.

0

j, k

0

А я ошибку нашел. Сейчас исправлю.

0

А переменная i не считается? i,j,k - 3 шт.

0

Ну основная. Так сказать входит в минимальный набор необходимых переменных. Как я буду без нее по массиву гулять?

0 голосов

 var a: array[0..100] of integer;
    n,i,j,km: integer;
begin
  write('размер массива: ');  readln(n);
  dec(n);
  for i:=0 to n do read(a[i]);
  readln(km);
  writeln('исходный массив: '); 
  for i:=0 to km do write(a[i],' ');
  i:=0; 
  repeat
    j:=i+1;
    repeat
      if a[i]=a[j] then
      begin
        if j        repeat
          a[j]:=a[j+1];
          j:=j+1;
        until j=km;   
        dec(km);
        j:=i;
      end;
      j:=j+1;
    until j>km;
    i:=i+1;
  until i=km;
  writeln;
  writeln('новый массив:');
  for i:=0 to km do write(a[i],' ');
end.

размер массива: 10
11 13 15 17 19 23 11 13 15 19
7
исходный массив: 
11 13 15 17 19 23 11 13 
новый массив:
11 13 15 17 19 23


(9.7k баллов)