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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2013, 17:01   #1
solovey.kurskiy
Пользователь
 
Регистрация: 22.10.2012
Сообщений: 21
По умолчанию помогите решить задачу,в паскале,пожалуйста.

Даны два числа х и у ,если эти числа не равны,то заменить их нулями,в проитивном случаи заменить их единицами.
solovey.kurskiy вне форума Ответить с цитированием
Старый 14.11.2013, 17:21   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Такая простая задача...
Что не получается?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.11.2013, 19:25   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
x := Ord (x=y); y := x;
Poma][a вне форума Ответить с цитированием
Старый 14.11.2013, 19:28   #4
Zooma
Пользователь
Пользователь
 
Аватар для Zooma
 
Регистрация: 06.06.2011
Сообщений: 18
По умолчанию

Код:
if(x<>y) then // Сравниваем два числа, если не равны, то
begin           
x:=0; y:=0;  // Присваеваем х и у к 0
end
else // Иначе
begin
x:=1; y:=1; // Присваеваем к 1
end;
Zooma вне форума Ответить с цитированием
Старый 14.11.2013, 19:59   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Poma][a
Аналогично думал, но по старой привычке вместо Ord() написал бы Byte()
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.11.2013, 20:43   #6
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Аналогично думал, но по старой привычке вместо Ord() написал бы Byte()
Честно говоря, Byte () мне более близок, более понятен (всё-таки приведение типов, а не магия).. но из-за acmp привык писать Ord () (Спасибо Аватару )
Poma][a вне форума Ответить с цитированием
Старый 14.11.2013, 20:53   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ни капли не магия - просто позиция в перечисляемом типе. Пожалуйста

PS

Приведение типов больше на магию похоже
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.11.2013, 20:55   #8
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Ни капли не магия
Всё же приведение как-то получше (яснее) будет
Poma][a вне форума Ответить с цитированием
Старый 14.11.2013, 21:44   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, раз не магия, тогда ещё один "хакерский" вариант:
Код:
const newValue : array[false..true] of integer = (1,0);
var x, y : integer;
begin
  Readln(x,y);
  x := newValue[x<>y];
  y := x;
  WriteLn('x=',x,'  y=',y);
  Readln
end.

p.s. не хакерский вариант приведён в пост #4
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.11.2013, 21:55   #10
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Код:
const newValue : array[false..true] of integer = (1,0);
var x, y : integer;
begin
  Readln(x,y);
  x := newValue[x<>y];
  y := x;
  WriteLn('x=',x,'  y=',y);
  Readln
end.
Забавно.. Где-то видел у TinMan'а такой вариант, особенно классно, когда просят вывести
"Да" или "Нет".
Код:
var
    answer : array [false..true] of string = ('Нет', 'Да');

<...>
WriteLn (answer[условие]);
Poma][a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста решить задачу на Паскале Alex61 Помощь студентам 2 16.05.2009 19:56
Помогите пожалуйста решить задачу на Паскале Striker14 Помощь студентам 1 18.02.2009 23:12
пожалуйста, помогите решить задачу на ПАСКАЛЕ!!! Elizaveta Паскаль, Turbo Pascal, PascalABC.NET 0 09.11.2008 18:48