Упрощенный вариант Александра Осипова:
VAR
a: array[1..100] of byte;
i:integer;
n:set of byte;
BEGIN
randomize;
for i := 1 to 100 do a[ i ] := random(30)+1;
n := [];
for i := 1 to 100 do begin write(a[ i ]:3); n := n + [a[ i]]; end;
writeln;
writeln('Ne povtorajutsa:');
for i := 0 to 255 do
if i in n then write(i:3);
END.
И почему люди боятся использовать множества?
Другие языки программирования и технологии
Вводится 100 положительных чисел меньших 30, программа должна найти и напечатать все неповторяющиеся уникальные числа
Закидывай цифры в бинарное дерево без повторений и дело с концом. Дерево найди где-нить, не проблема.
Создаём массив на 100 элементов, вносим в него значения, Сверяем каждое с каждым и удаляем повторяющиеся. То что осталось - выводим.
list1 = (1,23,4,5,6,7,8,1,2,3,5,7)
list2 = []
for item in list1:
<tab>if item not in list2:
<tab><tab>list2.add(item)
print list2
list2 = []
for item in list1:
<tab>if item not in list2:
<tab><tab>list2.add(item)
print list2
2 Осипов который Александр! опять индусский код накатал. ты бы еще goto в паскаль засандалил для полного счастья.
образование имеет цель развивать моск школьноков а не плодить быдлокодеров.
2 Jurii не боятся люди множеств только пользуют их с головой и к месту а не так бездарно.
задание кто нибудь читал? 30 меньше 30? нет! вывести только единыжды встречающиеся в массиве числа, а не все присутствующие хотя бы один раз!
2 Ильдар Хайруллин только сравнивать надо не только с предыдущим но и с последующим.
2 Jurijus Zaksas интересная идея. надо будет попробовать.
а щас единственно ПРАВИЛЬНОЕ решение
VAR
a: array[1..100] of byte;
i,j:integer;
found: boolean;
BEGIN
randomize;
for i := 1 to 100 do a[ i ] := random(29)+1;
for i := 1 to 100 do write(a[ i ]:3);
writeln;
writeln('not repeated:');
for i := 1 to 100 do
begin
found := false;
j:=1;
while not found and (j<=100) do
begin
found:=(i<>j) and (a[ i ] = a[ j ]);
inc(j);
end;
if not found then write(a[ i ]:3);
end;
END.
образование имеет цель развивать моск школьноков а не плодить быдлокодеров.
2 Jurii не боятся люди множеств только пользуют их с головой и к месту а не так бездарно.
задание кто нибудь читал? 30 меньше 30? нет! вывести только единыжды встречающиеся в массиве числа, а не все присутствующие хотя бы один раз!
2 Ильдар Хайруллин только сравнивать надо не только с предыдущим но и с последующим.
2 Jurijus Zaksas интересная идея. надо будет попробовать.
а щас единственно ПРАВИЛЬНОЕ решение
VAR
a: array[1..100] of byte;
i,j:integer;
found: boolean;
BEGIN
randomize;
for i := 1 to 100 do a[ i ] := random(29)+1;
for i := 1 to 100 do write(a[ i ]:3);
writeln;
writeln('not repeated:');
for i := 1 to 100 do
begin
found := false;
j:=1;
while not found and (j<=100) do
begin
found:=(i<>j) and (a[ i ] = a[ j ]);
inc(j);
end;
if not found then write(a[ i ]:3);
end;
END.
Не нужно ничего сравнивать. Можно все сделать в один проход.
Пишите в ICQ: 228004347 или Агент. Здесь не удобно. Только быстро.
Пишите в ICQ: 228004347 или Агент. Здесь не удобно. Только быстро.
VAR
a: array[1..100] of byte;
i,j:integer;
found: boolean;
BEGIN
randomize;
for i := 1 to 100 do a[ i ] := random(30)+1;
for i := 1 to 100 do write(a[ i ]:3);
writeln;
writeln('Ne povtorajutsa:');
for i := 1 to 100 do
begin
found := false;
for j := 1 to 100 do
if i<>j then if a[ i ] = a[ j ] then begin found := true;break end;
if not found then write(a[ i ]:3);
end;
END.
a: array[1..100] of byte;
i,j:integer;
found: boolean;
BEGIN
randomize;
for i := 1 to 100 do a[ i ] := random(30)+1;
for i := 1 to 100 do write(a[ i ]:3);
writeln;
writeln('Ne povtorajutsa:');
for i := 1 to 100 do
begin
found := false;
for j := 1 to 100 do
if i<>j then if a[ i ] = a[ j ] then begin found := true;break end;
if not found then write(a[ i ]:3);
end;
END.
отсортируйте по порядку и выводите, если отличный от предыдущего
Похожие вопросы
- Вводится целое положительное число. Определить количество чётных и нечётных цифр в числе в Си++
- Дано множество некоторых целых положительных чисел. Найти минимальный элемент множества.
- Дан файл целых чисел. Создать два новых файла, первый из которых содержит положительные числа из исходного файла...
- С клавиатуры вводится целое число от 1 до 1000 обозначающую сумму в рублях. Программа должна печатать эту сумму прописью
- нужно решение с++. С клавиатуры вводится 13 целых чисел, найти позиции всех простых чисел.
- написать программу на С++, которая вычисляет колличество положительных чисел в массиве?
- Даны 3 целых числа. Возвести в квадрат отрицательные числа и в третью степень - положительные (число 0 не изменять)
- Язык программирования c++, в массиве, найти положительные числа
- Как перевести число из двоичной системы счисления в восьмеричную в Ассемблер (tasm) Программа должна быть простой!
- Как перевести число из восьмеричной системы счисления в двоичную в Ассемблер (tasm) Программа должна быть простой!