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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2010, 20:15   #1
Klik_1602
Пользователь
 
Аватар для Klik_1602
 
Регистрация: 06.09.2010
Сообщений: 51
По умолчанию Задача на сравнение 2-ух чисел

Необходимо сравнить 2-числа (какое из 2-ух больше) но при этом не пользоваться оператором if, помогите, не могу придумать способ(
Klik_1602 вне форума Ответить с цитированием
Старый 21.09.2010, 03:00   #2
Познающий
Форумчанин
 
Аватар для Познающий
 
Регистрация: 09.05.2009
Сообщений: 162
По умолчанию

вообще я знаю только второй способ сравнения (собсна как это и делается в машине) - вычитанием, но в конце концов все равно будет иф результат больше нуля, значит первое число больше иначе... ясно да?попробуйте этот вариант скорее всего имеется ввиду не сравнивать два числа ифом. За дополнительной информацией гугл в помощь, малоли может еще алгоритмы есть (должны быть о да!!)
С наилучшими пожеланиями.
Познающий вне форума Ответить с цитированием
Старый 21.09.2010, 03:06   #3
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Попробуйте
Код:
case
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 21.09.2010, 04:37   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

использовать тренарный оператор условия
использовать while или for
rrrFer вне форума Ответить с цитированием
Старый 21.09.2010, 14:18   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

индексами массивов могут выступать не только натуральные числа,
но и целые, и даже перечислимые типы.
Код:
procedure TForm1.FormClick(Sender: TObject);
const
  otv: array[false..true] of string =('+++', '---' );
begin
  ShowMessage(otv[10>20]);
  showmessage(otv[30>2]);
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 21.09.2010 в 14:24.
evg_m вне форума Ответить с цитированием
Старый 22.09.2010, 21:11   #6
Познающий
Форумчанин
 
Аватар для Познающий
 
Регистрация: 09.05.2009
Сообщений: 162
По умолчанию

свитчер и тернарные операторы это же расширенный иф О_о
вот цикл уайл - вариант - отнимать по 1 из каждого числа, и кто быстрее обнулится тот и меньше
но там тоже ифы ... иф а==0 выйти, иф б==0 выйти
С наилучшими пожеланиями.
Познающий вне форума Ответить с цитированием
Старый 22.09.2010, 23:10   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

evg_m, ответ просто бомба!!!
я потрясён!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.09.2010, 23:33   #8
Познающий
Форумчанин
 
Аватар для Познающий
 
Регистрация: 09.05.2009
Сообщений: 162
По умолчанию

Serge_Bliznykov, извините, а можете объяснить чем ответ так хорош? Я, честно, совершенно не понял при чем тут массивы.
С наилучшими пожеланиями.
Познающий вне форума Ответить с цитированием
Старый 22.09.2010, 23:57   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

задача какая? Не используя IF определить, какое из чисел больше. Так?
попробуйте такой код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  otv: array[false..true] of string =('Первое число больше (или равно второму)', 'Второе число больше' );
var a, b : integer;
begin
  a := 100;
  b := 34;
  ShowMessage(otv[a<b]);
end;
p.s. разумеется, вместо a и b можно подставлять любые числа.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.09.2010, 00:06   #10
Познающий
Форумчанин
 
Аватар для Познающий
 
Регистрация: 09.05.2009
Сообщений: 162
По умолчанию

если эт ко мне то я только подозревать могу что ето за язык. делфи?
А смысл написанноого я вроде понял - некий вариант тернарного оператора - то бишь если a<b дает истину - пишем первую строку - иначе. Вот только не понял каким образом можно писать otv[a<b]? Если это индексация,то я так понимаю выводится 34й элемент или 100й но непонятная мне конструкция
С наилучшими пожеланиями.
Познающий вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простая задача на сравнение картинок stlcrash Мультимедиа в Delphi 4 22.07.2010 14:49
Сравнение чисел Draips Помощь студентам 2 17.06.2010 16:51
Сравнение остатков двух чисел от деления на 3 (ассемблер) MaxFlame Помощь студентам 0 25.05.2010 09:11
Сравнение массива чисел с числом cent Microsoft Office Excel 17 28.01.2009 13:17
Сравнение чисел с плавающей точкой ? Ulex Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 11 12.04.2008 21:14