Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 444

/ вопрос открыт /

Здравствуйте, эксперты!
1.Вводятся произвольно числа.
2.Оставляются только не чётные чила
3. Переводятся в двоичный код
4. Выводятся двоичный код на экран.

Чикиркин И.В. Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Чикиркин И.В. (статус: Посетитель)
Вопрос отправлен: 25 марта 2008, 11:11
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Лаконичный вопрос.
Отвечу тоже лаконично (см. приложение).

Приложение:
  1. program p1444;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6. SysUtils, Classes;
  7.  
  8.  
  9. function Int2Bin(const I: Integer): string;
  10. var
  11. Shift: Byte;
  12. begin
  13. Result:= '';
  14.  
  15. for Shift:= 0 to 31 do
  16. begin
  17. if (((I shr Shift) and 1) = 0)
  18. then Result:= '0' + Result
  19. else Result:= '1' + Result;
  20.  
  21. if (Shift mod 8 = 7)
  22. then Result:= ' ' + Result;
  23. end;
  24. end;
  25.  
  26. var
  27. List: TList;
  28. S: string;
  29. Value, Index: Integer;
  30.  
  31. begin
  32. List:= TList.Create();
  33. Index:= 1;
  34. try
  35.  
  36.  
  37. WriteLn(' Input the integer values. Non-integer value breaks the input loop.');
  38. repeat
  39. Write(' Input value #', Index, ': ');
  40. ReadLn(S);
  41.  
  42. if (TryStrToInt(S, Value))
  43. then List.Add(Pointer(Value))
  44. else Break;
  45.  
  46. Inc(Index);
  47. until (false);
  48.  
  49.  
  50. for Index:= List.Count - 1 downto 0 do
  51. if ((Integer(List[Index]) and 1) = 0)
  52. then List.Delete(Index);
  53.  
  54.  
  55.  
  56. WriteLn(' Output only odd values:');
  57. for Index:= 0 to List.Count - 1 do
  58. WriteLn(' Value #', Index, ' = ', Integer(List[Index]): 8, ' [', Int2Bin(Integer(List[Index])), ' ]');
  59. finally
  60. List.Free();
  61. end;
  62.  
  63. WriteLn(' Press enter to exit...');
  64. ReadLn;
  65. end.


Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 26 марта 2008, 09:03


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 12 декабря 2017, 17:02
Выполнено за 0.04 сек.
Рейтинг@Mail.ru