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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2011, 16:19   #1
Вечный_студент
Пользователь
 
Аватар для Вечный_студент
 
Регистрация: 11.11.2011
Сообщений: 45
По умолчанию задача на C++

Программа должна генерировать случайные числа и переводить их в двоичную форму

примерный код:
Код:
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
int main()
{
        int r;
	srand((unsigned)time(NULL));
	int k=256;
	int x = rand()%k-1; 
	cout<<x<< " "; //выводим
        for (int i = 0; i < sizeof(x) << 1; i++) 
	   r = ((x & (1 << i))? "1" : "0") + r; 
          cout<<r<<" ";
       
return 0;
}
не понимаю в чем ошибка. Подскажите
Крепкая стена строится из маленьких кирпичей.
Но если положил первый кирпич криво, как ни старайся, стена кривой будет.

Последний раз редактировалось Stilet; 18.12.2011 в 16:42.
Вечный_студент вне форума Ответить с цитированием
Старый 18.12.2011, 16:35   #2
MooNDeaR
В стагнации
Участник клуба
 
Аватар для MooNDeaR
 
Регистрация: 29.07.2011
Сообщений: 1,303
По умолчанию

Цитата:
примерный код:
Что значит примерный код? Не работает обычно точный код.

Цитата:
for (int i = 0; i < sizeof(x) << 1; i++)
r = ((x & (1 << i))? "1" : "0") + r;
cout<<r<<" ";
Что-то тут совсем очень сомнительное что-то

Код:
for(int i = sizeof(int)*8 - 1; i >= 0; i--)
      cout <<  (x >> i)&1 << ' ';
Вот так работает
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание.
MooNDeaR вне форума Ответить с цитированием
Старый 18.12.2011, 16:44   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я так делаю:
Код:
      for(int k=1;k<=(sizeof(i)*8); i >>= 1,k++){
        printf("%c",(i & 1)? '1' : '0');
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.12.2011, 16:58   #4
Вечный_студент
Пользователь
 
Аватар для Вечный_студент
 
Регистрация: 11.11.2011
Сообщений: 45
По умолчанию

ну прям отойти нельзя столько написали)
примерный код в том смысле, что это не конечный результат который нужен от этой программы.

Цитата:
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand((unsigned)time(NULL));
int k=256;
int x = rand()%k-1;
cout<<x<< " "; //выводим

for(int i = sizeof(int)*2 - 1; i >= 0; i--)//ограничение по размеру у меня до 255
cout <<((x >> i) & 1)<< ' '; // без еще одних скобок отказывается работать)
return 0;
}
}
если у меня числа меньше 256 и должно быть 8 цифр в двоичной системе, можно 8 на два заменить, как сделал я?
Крепкая стена строится из маленьких кирпичей.
Но если положил первый кирпич криво, как ни старайся, стена кривой будет.

Последний раз редактировалось Вечный_студент; 18.12.2011 в 17:20.
Вечный_студент вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача о стрелках (задача Майхелла) Silly Student Помощь студентам 0 14.12.2011 22:20
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51