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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2010, 16:01   #1
Даниил_глазко
Форумчанин
 
Аватар для Даниил_глазко
 
Регистрация: 25.10.2010
Сообщений: 155
Злость как поделить число на число в delphi?

Подскажите пожалуйста как поделить число на число в delphi?Попробовал x:=x/y но ошибка:Incompatible types: 'Integer' and 'Extended'.Заранее спасибо.
Даниил_глазко вне форума Ответить с цитированием
Старый 11.11.2010, 16:03   #2
newStudent
Пользователь
 
Аватар для newStudent
 
Регистрация: 07.07.2010
Сообщений: 44
По умолчанию

Если обе переменные вещественного типа:
Код:
var x,y : double;
begin
...
x := x / y;
...
end;
Если результат деления целого на вещественное число хотите поместить в переменную целого типа, то можно:
-- воспользоваться операцией целогочисленного деления div
-- воспользоваться функциями преобразования:
- Int Целая часть числа с плавающей точкой
- Trunc Целая часть числа с плавающей запятой
- Round Округление чисел с плавающей запятой до целого числа
- Frac Дробная часть числа с плавающей запятой

Последний раз редактировалось newStudent; 11.11.2010 в 16:15.
newStudent вне форума Ответить с цитированием
Старый 11.11.2010, 16:06   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если вы результат от вещественного деления хотите запихнуть в целочисленную переменку то юзайте или целочисленное деление div, или же Отбрасывайте дробную часть
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.11.2010, 16:16   #4
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

Цитата:
Сообщение от Даниил_глазко Посмотреть сообщение
Подскажите пожалуйста как поделить число на число в delphi?Попробовал x:=x/y но ошибка:Incompatible types: 'Integer' and 'Extended'.Заранее спасибо.
Код:
var
  x, y: integer;
....
begin
  //варианты:
  //1
  x := Round(x/y);
  //2
  x := Trunc(x/y);
  //3
  x := x div y;
end;
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 11.11.2010, 16:19   #5
dengul
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 17
По умолчанию

легче взять 3 переменных типа real
dengul вне форума Ответить с цитированием
Старый 11.11.2010, 16:22   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Я прошу прощения, но алгоритм x := x / y; прокатит только в c++
это с чего это вдруг?
просто если x и y целые, то нужно брать целочисленное деление
x:=x div y;

а в С++ компиль сам это определяет
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.11.2010, 16:22   #7
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
легче взять 3 переменных типа real
Эт чем же?
Цитата:
Я прошу прощения, но алгоритм x := x / y; прокатит только в c++
Ну, а Паскаль?Делфи?С?C#?Java?Они чем плохи?
_-Re@l-_ вне форума Ответить с цитированием
Старый 11.11.2010, 16:25   #8
dengul
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 17
По умолчанию

Если учесть что новичёк то почему нет? разве не будет работать?
dengul вне форума Ответить с цитированием
Старый 11.11.2010, 16:28   #9
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Ну, будет, конечно. Однако, зачем ещё память тратить? Если ведь можно две всего?
_-Re@l-_ вне форума Ответить с цитированием
Старый 11.11.2010, 16:28   #10
dengul
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 17
По умолчанию

Прошу прощения за c++, ступил...
dengul вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пишу число, а получается не число как так? suxo Microsoft Office Excel 4 30.05.2010 21:47
Число как текст преобразовать в число agregator Microsoft Office Excel 5 28.04.2010 06:08
Как разбить число на цифрыКак разбить число на цифры: 3241 => 3,2,4,1 (Pascal) Banderas123 Помощь студентам 3 07.12.2009 18:26
Написать программу, которая за меньшее число ходов отгадывает загаданное число gomz007 Помощь студентам 16 08.11.2009 12:57
Вывести число, предшествующее первому отрицательному и число, следующее за последним отрицательным Rid Паскаль, Turbo Pascal, PascalABC.NET 4 22.12.2008 16:50