Паскаль - найти кол-во различных чисел среди элементов массива

Ответить
Morrigan
Сообщения: 2
Зарегистрирован: 05 окт 2008, 09:54
Контактная информация:

Дан одномерный целочисленный массив из n элементов. Найти количество различных чисел среди элементов этого массива. Например, если задан массив, состоящий из чисел 10,13,10,18,5,10,5, то ответ будет 4, поскольку различные числа это 10,13,18,5. Рекомендуется использовать ещё один массив для хранения различных чисел.

Помогите пожалуйста, бьюсь уже давно, никак не смекну что писать в цикле, какие эл-ты надо сравнивать между собой?

Код: Выделить всё

function srav(m1:myarray) :myarray; 
var i :integer;
      m2:integer;
begin
m2[0]:=m1[0];
  begin
  for i:=0 to length(m1)-1 do
  //что здесь сравнить???
 end;
result:=m2;
end;
Аватара пользователя
Alex_Burn
Сообщения: 147
Зарегистрирован: 13 апр 2007, 17:49
Контактная информация:

Так устроит?

[syntax='Pascal']
uses crt;
const n = 10;
var mas : array [1..n] of string;
i, j, num : integer;
begin
clrscr;
writeln('Введите массив:');
for i := 1 to n do
begin
write('m[',i,'] = '); readln(mas);
end;
for i := 1 to n - 1 do
for j := i + 1 to n do
if (mas = mas[j]) then mas := 'duplicate';
writeln('Результат:');
for i := 1 to n do
if mas <> 'duplicate' then inc(num);
writeln('В массиве ',num,' различных элементов:');
for i := 1 to n do
if mas <> 'duplicate' then write(mas,' ');
writeln;
readkey;
end.
[/syntax]
Ответить