Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.10.2013, 14:35   #1
nadyaH
Форумчанин
 
Регистрация: 24.10.2013
Сообщений: 130
Печаль Даны два числа вывести большее, а затем меньшее. (Delphi)

ДАНЫ ДВа ЧИСЛА ВЫВЕСТИ БОЛЬШЕЕ А ЗАТЕМ МЕНЬШЕЕ.
ВОТ ПРОГРАММА. НЕ ЗНАЮ КАК ПРАВИЛЬНО ВЫВЕСТИ ОТВЕТ.
Код:
VAR
X,Y:INTEGER;
B,M:REAL;
begin
IF X>Y THEN
BEGIN
B:=X;
M:=Y;
END
ELSE
BEGIN
B:=Y;
M:=X;
END;
EDIT3.Text:=FLOATTOSTR(B)+ FLOATTOSTR(M);
end;

end.

Последний раз редактировалось Serge_Bliznykov; 25.10.2013 в 14:48.
nadyaH вне форума
Старый 25.10.2013, 14:45   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

А где считывание чисел Х и У?
Вывести как-то так:
Код:
if (x>y) then 
edit3.text := floattostr(x) + '>' + floattostr(y) 
else 
floattostr(y) + '>=' + floattostr(x);
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума
Старый 25.10.2013, 14:56   #3
nadyaH
Форумчанин
 
Регистрация: 24.10.2013
Сообщений: 130
По умолчанию

edit1.Text:=strtofloat(x);
edit2.Text:=strtofloat(y);
почему программа ошибку выдаёт?
nadyaH вне форума
Старый 25.10.2013, 14:59   #4
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Что за ошибка? Телепаты в отпуске.
Могу предположить, что из-за разделителя, т.к. в зависимости от системных параметров он может быть как точкой (.) так и запятой (,).
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума
Старый 25.10.2013, 15:44   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

потому что нужно переводить число в строку, а не строку в число, как Вы пишете.
Кроме того, x и y у Вас целого типа.
поэтому:
Код:
edit1.Text:= IntToStr(x);
edit2.Text:= IntToStr(y);
Serge_Bliznykov вне форума
Старый 25.10.2013, 15:48   #6
nadyaH
Форумчанин
 
Регистрация: 24.10.2013
Сообщений: 130
По умолчанию

VAR
X,Y:real;
B,M:REAL;
begin
edit1.Text:= IntToStr(x);// вот в это и следующей строчке.
edit2.Text:= IntToStr(y);
if (x>y) then
edit3.text := floattostr(x) + '>' + floattostr(y)
else
floattostr(y) + '>=' + floattostr(x);
end.
ошибку даёт.
nadyaH вне форума
Старый 25.10.2013, 15:53   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ОМГ!

во-первых,
Цитата:
Код:
X,Y:real;
Вы же тип данных поменяли с Integer на Real (это вещественный тип, по английски вещественный - это Float == "с плавающей запятой")

во-вторых, Вы вообще понимаете, чем отличается запись:
Код:
A := B;
от записи
Код:
B := A;
рекомендую проштудировать вопрос, что пишется слева от знака присваивания, а что - справа!!

Думаю, что Вы хотели написать так:
Код:
VAR
X,Y:real;
B,M:REAL;
begin
x := StrToFloat(edit1.Text);
y := StrToFloat(edit2.Text);
if (x>y) then
  edit3.text := floattostr(x) + '>' + floattostr(y)
else
  edit3.text := floattostr(y) + '>=' + floattostr(x);
end.
Serge_Bliznykov вне форума
Старый 25.10.2013, 16:02   #8
nadyaH
Форумчанин
 
Регистрация: 24.10.2013
Сообщений: 130
По умолчанию

примерно так.Спасибо.
я в паскале раньше работала. а с делфи 7 вообще не работала.вот пробую как то.

Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).
Код:
N:EXTENDED;
A,B,C:real;
O:BOOLEAN;
begin
N:=STRTOFLOAT(EDIT1.TEXT);
A:= N MOD 4; ошибка
B:= N MOD 100;
C:= N MOD 400;
END;
if A<>0 then O:=365;
else if not((B=0)and(C<>0))then O:=366;
EDIT2.Text:=STRTOFLOAT(O);
end;

end.

Последний раз редактировалось Stilet; 26.10.2013 в 13:18.
nadyaH вне форума
Старый 26.10.2013, 10:25   #9
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Отмазка "работал в паскале, но не работал в Delphi" - не канает. Пишите код для паскаля, адаптировать его под Delphi - заменить ввод и вывод значений.

А вообще MOD для типа real не работает.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума
Старый 27.10.2013, 19:38   #10
nadyaH
Форумчанин
 
Регистрация: 24.10.2013
Сообщений: 130
По умолчанию

как обозначить переменную, которая будет являться string и integer?
nadyaH вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
даны два числа A и B.проверить являются ли числа A и B нечётными ( Делфи 7 нужна помощь в решении задач) nadyaH Помощь студентам 7 24.10.2013 17:51
,Даны целые числа K и L. Если числа не равны, то заменить меньшее из них остатком от деления большего на меньшее, а если рав Proskurina Помощь студентам 3 25.03.2013 20:51
Множества: Даны целые числа а1,.....,Аn. Вывести на печать сообщение - имеется ли в последовательности х повторяющиеся числа lialia Паскаль, Turbo Pascal, PascalABC.NET 3 24.12.2012 21:11
Даны два числа Joker<777> Паскаль, Turbo Pascal, PascalABC.NET 4 02.09.2010 15:57
Даны два числа Vylkan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 01.02.2010 04:13