Delphi для начинающих )))

Обсуждение софта и железа
Аватара пользователя
Recorder=)
Профессионал
Профессионал
Сообщения: 2381
Зарегистрирован: 22 сен 2004, 20:54
Откуда: 92925
Контактная информация:

Delphi для начинающих )))

Сообщение Recorder=) »

вопрос такой....

тип числа real....
его сначала вводят с клавиатуры, а потом его надо показать....

но показать надо в нормальном виде,без всяких экспонент...

кто знает. помогите)))
Последний раз редактировалось Recorder=) 14 янв 2006, 02:07, всего редактировалось 2 раза.
Изображение
Nim
Посетитель
Посетитель
Сообщения: 15
Зарегистрирован: 25 авг 2005, 11:32

Сообщение Nim »

Если ты имеешь в виду консольное приложение, то: при выводе числа командой Write/WriteLn просто нужно указать формат числа. Например Write(a:4:6), где 4 - количество знаков в целой части, а 6 - количество знаков после запятой. А если приложение Win 32 то при выводе переведи число в строку: FloatToStr
Аватара пользователя
Siquell
Мастер
Мастер
Сообщения: 1634
Зарегистрирован: 17 окт 2004, 11:27
Откуда: Селятино
Контактная информация:

Сообщение Siquell »

И ещё такая хрень(привожу примеры):

trunc(х)-возвращает ближайшее целое число
trunc(10.7)=10
trunc(-7.8)=-7

round(x)-округление до ближайшего целого числа
round(10.7)=11
round(-7.8)=-8;

ну и вышесказанное верно (комменты рулят ;) )

ЗЫ: купи книжку ))
Аватара пользователя
Quos
Эксперт
Эксперт
Сообщения: 924
Зарегистрирован: 30 дек 2004, 21:29

Сообщение Quos »

В инете проще посмотреть -)
Подпись
Аватара пользователя
Vot
Знаток
Знаток
Сообщения: 1249
Зарегистрирован: 14 янв 2005, 00:18

Сообщение Vot »

Delphi для начинающих:
http://www.kib.ru/lib/resources/src19/D ... Index.html
"Глупость не освобождает от необходимости думать."
Станислав Ежи Лец
Аватара пользователя
Quos
Эксперт
Эксперт
Сообщения: 924
Зарегистрирован: 30 дек 2004, 21:29

Сообщение Quos »

delphimaster.ru
вотъ -)

А вообще учи си :)
Подпись
Аватара пользователя
Recorder=)
Профессионал
Профессионал
Сообщения: 2381
Зарегистрирован: 22 сен 2004, 20:54
Откуда: 92925
Контактная информация:

Сообщение Recorder=) »

Quos писал(а):delphimaster.ru
вотъ -)

А вообще учи си :)
мне для зачота над учить делфи)))


вот ещё вопрос....ток он не ток по делфи,
а вообще по математике и логике и т.д.

распечатать все трехзначные числа имеющие три одинаковых цифры...

вообще это просто сделать, но вот одна оговорочка (деление не использовать)
Изображение
Аватара пользователя
Siquell
Мастер
Мастер
Сообщения: 1634
Зарегистрирован: 17 окт 2004, 11:27
Откуда: Селятино
Контактная информация:

Сообщение Siquell »

Recorder=) писал(а): распечатать все трехзначные числа имеющие три одинаковых цифры...

вообще это просто сделать, но вот одна оговорочка (деление не использовать)
а div и mod можно? ))
Аватара пользователя
Recorder=)
Профессионал
Профессионал
Сообщения: 2381
Зарегистрирован: 22 сен 2004, 20:54
Откуда: 92925
Контактная информация:

Сообщение Recorder=) »

Siquell писал(а):а div и mod можно? ))

не нельзя))) :zloba:
Изображение
Аватара пользователя
Siquell
Мастер
Мастер
Сообщения: 1634
Зарегистрирован: 17 окт 2004, 11:27
Откуда: Селятино
Контактная информация:

Сообщение Siquell »

var
x:integer;
begin
a=111
while x<1000 do
x:=x+a;
end;
по другому хз как...
Игорь
Ветеран
Ветеран
Сообщения: 2774
Зарегистрирован: 18 сен 2004, 13:23
Откуда: Россия
Контактная информация:

Сообщение Игорь »

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
Аватара пользователя
Siquell
Мастер
Мастер
Сообщения: 1634
Зарегистрирован: 17 окт 2004, 11:27
Откуда: Селятино
Контактная информация:

Сообщение 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;

правда немного оптимизировал...
Игорь
Ветеран
Ветеран
Сообщения: 2774
Зарегистрирован: 18 сен 2004, 13:23
Откуда: Россия
Контактная информация:

Сообщение Игорь »

Да я сам уже заметил, переписал....


угу въехал...
Последний раз редактировалось Игорь 23 окт 2005, 14:22, всего редактировалось 1 раз.
Аватара пользователя
Siquell
Мастер
Мастер
Сообщения: 1634
Зарегистрирован: 17 окт 2004, 11:27
Откуда: Селятино
Контактная информация:

Сообщение 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.
и ффсё работает!!! ))
Аватара пользователя
Recorder=)
Профессионал
Профессионал
Сообщения: 2381
Зарегистрирован: 22 сен 2004, 20:54
Откуда: 92925
Контактная информация:

Сообщение 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

аццкий сотона хочеца написать....

но ты ваще крутой)))
Изображение
Ответить