Страница 1 из 4
Delphi для начинающих )))
Добавлено: 21 окт 2005, 00:57
Recorder=)
вопрос такой....
тип числа real....
его сначала вводят с клавиатуры, а потом его надо показать....
но показать надо в нормальном виде,без всяких экспонент...
кто знает. помогите)))
Добавлено: 21 окт 2005, 17:16
Nim
Если ты имеешь в виду консольное приложение, то: при выводе числа командой Write/WriteLn просто нужно указать формат числа. Например Write(a:4:6), где 4 - количество знаков в целой части, а 6 - количество знаков после запятой. А если приложение Win 32 то при выводе переведи число в строку: FloatToStr
Добавлено: 21 окт 2005, 18:00
Siquell
И ещё такая хрень(привожу примеры):
trunc(х)-возвращает ближайшее целое число
trunc(10.7)=10
trunc(-7.8)=-7
round(x)-округление до ближайшего целого числа
round(10.7)=11
round(-7.8)=-8;
ну и вышесказанное верно (комменты рулят ;) )
ЗЫ: купи книжку ))
Добавлено: 21 окт 2005, 19:49
Quos
В инете проще посмотреть -)
Добавлено: 21 окт 2005, 19:50
Vot
Добавлено: 21 окт 2005, 19:51
Quos
delphimaster.ru
вотъ -)
А вообще учи си :)
Добавлено: 22 окт 2005, 12:29
Recorder=)
Quos писал(а):delphimaster.ru
вотъ -)
А вообще учи си :)
мне для зачота над учить делфи)))
вот ещё вопрос....ток он не ток по делфи,
а вообще по математике и логике и т.д.
распечатать все трехзначные числа имеющие три одинаковых цифры...
вообще это просто сделать, но вот одна оговорочка (деление не использовать)
Добавлено: 22 окт 2005, 16:45
Siquell
Recorder=) писал(а):
распечатать все трехзначные числа имеющие три одинаковых цифры...
вообще это просто сделать, но вот одна оговорочка (деление не использовать)
а div и mod можно? ))
Добавлено: 23 окт 2005, 11:28
Recorder=)
Siquell писал(а):а div и mod можно? ))
не нельзя))) :zloba:
Добавлено: 23 окт 2005, 12:43
Siquell
var
x:integer;
begin
a=111
while x<1000 do
x:=x+a;
end;
по другому хз как...
Добавлено: 23 окт 2005, 13:39
Игорь
for a=0 to 9
for b=0 to 9
if a<=>b then next b
for c=0 to 9
if b<=>c then next c
d=100*a+10*b+c
if d=0 then next c
Print d
next c
next b
next a
Примерно так - три цикла от 0 до 9 с проверкой на совпадение в разрядах. Если есть - вывод на печать. Ноль отбрасывается.
Правда я этих языков совсем не знаю, а на ассемблер лень переводить )))))
Или еще короче:
for a=1 to 9
b=a*100+a*10+a
Print B
next a
Добавлено: 23 окт 2005, 13:48
Siquell
Игорь писал(а):for a=0 to 10
for b=0 to 10
for c=0 to 10
if a<=>b then next c
if b<=>c then next c
d=a*100
e=b*10
f=c
g=d+e+f
if g=0 then next c
Print g
next c
next b
next a
сто пудофф.. комменты рулят :D
ну на Дельфях буит так:
begin
for a=1 to 9 do
for b=1 to 9 do
for c=1 to 9 do
if (a=b) and (b=c) and (a=c) then
begin
g=a*100+b*10+c
writeln(g);
end;
end;
правда немного оптимизировал...
Добавлено: 23 окт 2005, 13:52
Игорь
Да я сам уже заметил, переписал....
угу въехал...
Добавлено: 23 окт 2005, 14:06
Siquell
вот карочь полная версия консоли:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a,b,c :byte;
g:integer;
begin
for a:=1 to 9 do
for b:=1 to 9 do
for c:=1 to 9 do
if (a=b) and (b=c) and (a=c) then
begin
g:=a*100+b*10+c;
writeln(g);
end;
readln;
end.
и ффсё работает!!! ))
Добавлено: 23 окт 2005, 20:15
Recorder=)
Игорь писал(а):for a=0 to 9
for b=0 to 9
if a<=>b then next b
for c=0 to 9
if b<=>c then next c
d=100*a+10*b+c
if d=0 then next c
Print d
next c
next b
next a
Примерно так - три цикла от 0 до 9 с проверкой на совпадение в разрядах. Если есть - вывод на печать. Ноль отбрасывается.
Правда я этих языков совсем не знаю, а на ассемблер лень переводить )))))
Или еще короче:
for a=1 to 9
b=a*100+a*10+a
Print B
next a
аццкий сотона хочеца написать....
но ты ваще крутой)))