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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2009, 18:53   #1
Юрий2009
Пользователь
 
Регистрация: 17.01.2009
Сообщений: 32
Восклицание Delphi 7. Условный оператор

Даны две точки А(х1,у1) и В(х2,у2). Составить алгоритм, определяющий, которая из точек находится ближе к началу координат.
Юрий2009 вне форума Ответить с цитированием
Старый 28.04.2009, 18:57   #2
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
if sqr(x1)+sqr(y1)> sqr(x2)+sqr(y2) then writeln('B') 
 else writeln('A');
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 28.04.2009, 19:32   #3
HoLToFF
Пользователь
 
Регистрация: 22.03.2009
Сообщений: 58
По умолчанию

Цитата:
Сообщение от IT-man Посмотреть сообщение
Код:
if sqr(x1)+sqr(y1)> sqr(x2)+sqr(y2) then writeln('B') 
 else writeln('A');
Вернее будет вот так
Код:
if (sqr(x1)+sqr(y1))> (sqr(x2)+sqr(y2)) then writeln('B')
 else writeln('A');

Последний раз редактировалось HoLToFF; 28.04.2009 в 19:51.
HoLToFF вне форума Ответить с цитированием
Старый 28.04.2009, 19:54   #4
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Код:
c1 := sqrt(sqr(x1)+sqr(y1));
c2 := sqrt(sqr(x2)+sqr(y2));
if (c1 < c2) then 
 ShowMessage('первая ближе') 
else
 ShowMessage('вторая ближе');
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 28.04.2009, 20:09   #5
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
Сообщение от MalCer Посмотреть сообщение
Код:
c1 := sqrt(sqr(x1)+sqr(y1));
c2 := sqrt(sqr(x2)+sqr(y2));
if (c1 < c2) then 
 ShowMessage('первая ближе') 
else
 ShowMessage('вторая ближе');
хм... я что-то не понимаю?... http://programmersforum.ru/showthread.php?t=47289
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 28.04.2009, 20:46   #6
HoLToFF
Пользователь
 
Регистрация: 22.03.2009
Сообщений: 58
По умолчанию

Плагиат, чего не понятного та
HoLToFF вне форума Ответить с цитированием
Старый 28.04.2009, 21:27   #7
worshewitin
Пользователь
 
Регистрация: 25.04.2009
Сообщений: 11
По умолчанию

а как применить этот цикл для редактирования текста?
worshewitin вне форума Ответить с цитированием
Старый 28.04.2009, 21:30   #8
worshewitin
Пользователь
 
Регистрация: 25.04.2009
Сообщений: 11
По умолчанию

в окне формы записывается строка текста. удалите в строке все одинаковые символы.
worshewitin вне форума Ответить с цитированием
Старый 28.04.2009, 21:49   #9
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

тут циклов нету, но это легко реализовать, используя множество и функцию для работы со строками Delete... проверять для каждого символа в строке есть ли он в мн-ве и если нету - добавлять, а если есть - вырезать из строки..
может так...
Код:
var
  i:integer;
  str:string;
  symb:set of char;
begin
  symb := [];
  str := Edit1.Text;
  i := 0;
  while (i <= length(str)) do
    if (str[i] in symb) then
      Delete(str,i,1)
    else begin
      symb := symb+[str[i]];
      inc(i);
    end;
  Edit1.Text := str;
end;
или так покрасивее наверное
Код:
var
  i:integer;
  str:string;
  symb:set of char;
begin
  symb := [];
  str := Edit1.Text;
  for i:=length(str) downto 1 do
    if (str[i] in symb) then
      Delete(str,i,1)
    else
      symb := symb+[str[i]];
  Edit1.Text := str;
end;
Uguu~

Последний раз редактировалось __STDC__; 28.04.2009 в 22:08.
__STDC__ вне форума Ответить с цитированием
Старый 29.04.2009, 19:36   #10
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Ребят, а как же еще объяснить человеку, который создает по многу одних и тех же тем!!! Это же и есть правильный ответ!!!
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi 7. Условный оператор Юрий2009 Помощь студентам 2 27.04.2009 20:10
Delphi 7. Условный оператор Юрий2009 Помощь студентам 1 27.04.2009 19:16
Условный оператор,решите пожалуйста задачу на Delphi 7 matrix8325 Помощь студентам 2 21.04.2009 22:45
Условный оператор в Borland C++ 3.1 Xeon332 Помощь студентам 8 30.01.2009 17:08
Условный оператор IF в Си Zid@ne Помощь студентам 7 24.12.2008 20:02