Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Информатика / Программирование _ Написать программу с использованием подпрограмм

Автор: Saha 4.5.2010, 3:58

Задание: Написать программу с использованием подпрограмм. В подпрограммах не должно присутствовать ввода исходных данных (например, с помощью Readln) и вывода результатов на экран. Ввод исходных данных и ввод результатов должен производить в "теле" основной программы!
Написать программу, которая находит из всех четырехзначных чисел, такие числа, в записи которых все цифры различны.
Пожалуйста, помогите, очень прошу!!
(Только мне надо не в Турбо-Паскале, а в обычном)
Спасибо заранее))
Вот что у меня есть:
program Numbers;
var
i: integer;
function DifferentFigures(x: integer):boolean;
var
s: string;
i,err: integer;
d:array[0..9] of boolean;

begin
str(x,s);
for i:=0 to 9 do
d[i]:=false;
for i:=1 to 4 do
begin
val(s[i],x,err);
if d[x] then begin
DifferentFigures:=false;
exit;
end;
d[x]:=true;
end;
end;

begin
for i:=1000 to 9999 do
if DifferentFigures(i) then write(i:8);
writeln;
writeln('Press Enter...');
readln;
end.

Автор: InFuz 4.5.2010, 14:58

Что значит в обычном?

Автор: Vahappaday 4.5.2010, 19:27

наверное, имеется в виду ABC, его часто как учебный используют (сам просто не паскалянт, но в параллельных группах частенько видел)

Автор: Saha 6.5.2010, 13:55

Да, это АВС

Автор: Saha 20.5.2010, 16:03

Пожалуйста, помогите!!!(((

Автор: Vahappaday 22.5.2010, 5:14

ых... не охота мне паскаль учить...

могу алгоритмом помочь:
сравниваем пары разрядов
0 - 1
0 - 2
0 - 3
1 - 2
1 - 3
2 - 3
Если хоть одно сравнение показало, что символы равны, возвращаем false. Если ни одна пара символов не совпала, возвращаем true.

Как сравнивать i и j разряды числа d (считая справа):
if ((d div 10^i) mod 10)=((d div 10^j) mod 10)
^ - имеется в виду возведение в степень, не знаю, работает ли оно в паскале.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)