Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/48: Рейтинг темы: голосов - 48, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 6
1

Вывести строку, изображающую двоичную запись числа

05.06.2011, 21:23. Показов 9386. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
дана строка, изображающая десятичную запись целого положительного числа. вывести строку, изображающую двоичную запись этого же числа
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2011, 21:23
Ответы с готовыми решениями:

Дана строка, изображающая двоичную запись целого числа. Вывести строку, изображающую десятичную запись этого же числа
Дана строка, изображающая двоичную запись целого числа. Вывести строку, изображающую десятичную...

Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку изображающую двоичную запись этого же числа
Вот так вот

Вывести строку изображающую десятичную запись этого же числа
Дана строка, изображающая двоичною запись целого положительного числа. Вывести строку изображающую...

Если строка- запись целого числа, то вывести 1; если вещественного , то вывести 2; если строку нельзя преобразовать в число, то вывести 0.
Дана строка. Если она представляет собой запись целого числа, то вывести 1; если вещественного (с...

10
298 / 298 / 150
Регистрация: 07.05.2011
Сообщений: 592
05.06.2011, 21:39 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// дана строка, изображающая десятичную запись целого положительного числа. 
// вывести строку, изображающую двоичную запись этого же числа
// PascalABC.NET, lamed, 05.02.2011
var
  s1,s2: string;
  x,i:integer;
begin
  write('s1=');
  readln(s1);
  x:= 0;
  for i:= 1 to length(s1) do
    x:= x*10+ord(s1[i])-ord('0');
  s2:= '';
  while x<>0 do
    begin
      s2:=chr(ord('0')+(x and 1))+s2;
      x:= x shr 1;
    end;
  if s2='' then
    s2:='0';
  writeln('s2=', s2);
end.
2
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 6
05.06.2011, 21:46  [ТС] 3
спасибо, а если не сложно, короткие комментарии по строчкам расставить, пожалуйста
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
05.06.2011, 21:47 4
for i:= 1 to length(s1) do
x:= x*10+ord(s1[i])-ord('0');
и нафига оно надо?
val()-говорят помогает.
0
298 / 298 / 150
Регистрация: 07.05.2011
Сообщений: 592
05.06.2011, 21:49 5
симыч, Какие строчки вызывают сложности?
0
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 6
05.06.2011, 21:55  [ТС] 6
я не себе, девушке помочь пытаюсь, сам с++ слабенько знаю, хочется все ей подготовленное сделать, просто срочно на завтра надо, времени на разбирательства что к чему будет немного
0
298 / 298 / 150
Регистрация: 07.05.2011
Сообщений: 592
05.06.2011, 22:04 7
Цитата Сообщение от симыч Посмотреть сообщение
сам с++ слабенько знаю
Pascal здесь, причем Си? Вы не в ту ветку вопрос задали?
0
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 6
05.06.2011, 22:08  [ТС] 8
ей на паскале и надо, запутал просто
0
298 / 298 / 150
Регистрация: 07.05.2011
Сообщений: 592
05.06.2011, 22:23 9
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// дана строка, изображающая десятичную запись целого положительного числа. 
// вывести строку, изображающую двоичную запись этого же числа
// PascalABC.NET, lamed (RFPRo), Kovrov, 05.02.2011
var
  s1,s2: string; // входная и выходная строки
  x,i:integer; // x - число, изображаемое строкой  s1; i - номер позиции при проходе по строке
begin
  write('s1=');
  readln(s1); // считываем строку
  x:= 0; // вначале символов нет, изображаемое число равно нулю
  for i:= 1 to length(s1) do // Length(s) - длина строки, просматриваем каждый символ, начиная с первого
    x:= x*10+ord(s1[i])-ord('0'); 
  // Получаем i-й символ строки, разница между кодом этого символа
  // и кодом символа '0' - есть значение изображаемой цифры. Далее используем формулу Горнера
 
  // Теперь число получено, для перевода в битовую строку
  // необходимо определить значение каждого бита, начиная справа,
  // до тех пор, пока оставшиеся левые биты не будут равны нулю
  
  s2:= ''; // вначале битовая строка пуста
  while x<>0 do // пока есть что записывать
    begin
      s2:=chr(ord('0')+(x and 1))+s2; // x and 1 дает правую цифру
      x:= x shr 1; // сдвиг вправо эквивалентен делению на 2, только быстрей
    end;
  if s2='' then // если число x=0, строка пустая, надо показать '0'
    s2:='0';
  writeln('s2=', s2); // печатаем строку битов
end.
1
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 11
23.06.2013, 23:17 10
Дана строка, изображающая двоичную запись целого числа. Вывести строку, изображающую десятичную запись этого же числа
можешь написать?
0
Модератор
9874 / 5242 / 3306
Регистрация: 17.08.2012
Сообщений: 16,012
24.06.2013, 20:36 11
Цитата Сообщение от FireF Посмотреть сообщение
Дана строка, изображающая двоичную запись целого числа. Вывести строку, изображающую десятичную запись этого же числа
можешь написать?
Здесь написал.
0
24.06.2013, 20:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2013, 20:36
Помогаю со студенческими работами здесь

вывести строку, представляющую собой запись этого числа в двоичной системе исчисления
help! ввести число. вывести строку, представляющую собой запись этого числа в двоичной системе...

Дана строка - запись числа в двоичной системе счисления. Преобразуйте ее в строку - запись числа в шестнадцатеричной системе счисления
Дана строка, представляющая собой запись числа в двоичной системе счисления. Преобразуйте ее в...

Вывести на экран монитора преобразованное множество, запись или строку, а также вывести результаты вычислений
Помогите пожалуйста:help: 1. Ввести множество, запись или строку с помощью клавиатуры. 2. Вывести...

Составить программу, изображающую бегущую строку (справа налево) с каким-нибудь текстом
14. Составить программу, изображающую бегущую строку (справа налево) с каким-нибудь текстом


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru