Страница 1 из 1

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

Добавлено: 05 окт 2008, 10:18
Morrigan
Дан одномерный целочисленный массив из 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;

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

Добавлено: 05 окт 2008, 12:31
Alex_Burn
Так устроит?

[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]