Сравнение чисел

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Сравнение чисел

Сообщение n0where »

Код: Выделить всё

var i,c word;
begin
i:=0;
c:=0;
for.. {
i:=i+1;
c:=c+1;
}
// i=>5
// c=>5
if(i<>с)
message('Не равно');//!!!!!
else
message('Равно');
end;
Почему числа не равны?
Последний раз редактировалось n0where 20 янв 2012, 09:52, всего редактировалось 1 раз.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
KATZ
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49

Re: Сравнение чисел

Сообщение KATZ »

Как переменные i и c описаны?

P. S. Это типа задачка с конкурса начинающих программистов?
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Re: Сравнение чисел

Сообщение n0where »

Как переменные i и c описаны?
Как то делал на double, сейчас проблема и с word
P. S. Это типа задачка с конкурса начинающих программистов?
Ну попробуйте так подумать
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Сравнение чисел

Сообщение Алексей »

с double проблемы будут, с вордом не должно возникнуть
я 2 дабл сравниваю обычно как разница между ними по модулю и сравниваю с точностю которая мне нужна
if abs(a-b)<0.001 к примеру...
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Сравнение чисел

Сообщение edward_K »

раскрытие что скрывается под for.. вам поможет.
Обычно там как раз i используют 8)
Более сложный вариант - это когда переменная дважды объявлена в разных областях - глобальной и в локальной. Тогда где то используется глобальный(в message или if например), а где то локальный индетификатор - в этом случае поможет тока правило объявления локальных индетификаторов. Я стараюсь использовать либо ii либо ww_???? для более сложных названий.
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Re: Сравнение чисел

Сообщение n0where »

раскрытие что скрывается под for.. вам поможет.
Да нет, там обычный цикл при котором увеличивается значение этих переменных.
Более сложный вариант - это когда переменная дважды объявлена в разных областях - глобальной и в локальной.
Нет такого нет. Но обычно я для функций делаю локальные переменные везде одни.

Хотите сказать таких ситуаций не возникало?
У меня уже в 2х проектах такая фигня. приходится переводить в string и сравнивать строки.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Сравнение чисел

Сообщение edward_K »

n0where писал(а):У меня уже в 2х проектах такая фигня. приходится переводить в string и сравнивать строки.
это как раз и говорит о пересечении с глобальными переменными. Попробуйте здесь изменить их имена.
KATZ
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49

Re: Сравнение чисел

Сообщение KATZ »

n0where писал(а):Хотите сказать таких ситуаций не возникало?
Таких - нет.

К сообщению "Не равно" добавьте вывод значений. Возможно, когда увидите сравниваемые числа, сразу же причину поймете.

А лучше выложите весь код. В той части, которая опубликована, проблема не видна.
Ответить