Форум программистов, компьютерный форум CyberForum.ru

объединить преимущества кодов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вопрос организации хранения данных в файле. Базы Данных http://www.cyberforum.ru/cpp-beginners/thread550386.html
У меня, как у Новичка, есть вопрос по организации хранения записей в БД. суть такова: есть матрица доступа Субъекта к Объекту + права доступа субъекта(чтение, запись, удаление). Пишу программу которая подгружает из файла данные и рисует табличку в консольке. В консоли можно осуществлять любую правку таблицы. Создание/удаление субъектов/объектов + изменение прав доступа. проблема в...
C++ Разработать обучающую программу для заучивания слов английского языка. Разработать обучающую программу для заучивания слов английского языка. \\принцип обучения: -предлогается слово на исходном языке. -для этого слова выводится список иностранных слов. -обучаемый должен выбрать из этого списка слово-перевод. -если ответ верен то выводится следующее слово. -если ответ неверен, тогда выводится правильное слово и через некоторое время опять предлогается одно из... http://www.cyberforum.ru/cpp-beginners/thread550383.html
C++ Структура железнодорожное расписание
В файле содержится информация о железнодорожном расписании (номер поезда, время прибытия на станция, время отправления название станции ). Разработать структуру поезд, соответствующую формата файла.. Создать массив структур. Найти поезда проходящий через макс число станций вот что я имею #include "stdafx.h" #include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; ...
C++ Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k- индекс максимального элемента.
Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k- индекс максимального элемента.
C++ Создать класс обеспечивающий размещение матрицы произвольного размера http://www.cyberforum.ru/cpp-beginners/thread550370.html
Создать класс обеспечивающий размещение матрицы произвольного размера с возможностью изменения числа строк и столбцов, вывода на экран подматрицы любого размера и всей матрицы.
C++ Составьте программу вычисления произведения элементов матрицы B(N,N), кратных 5. Составьте программу вычисления произведения элементов матрицы B(N,N), кратных 5. подробнее

Показать сообщение отдельно
fantazer333
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 47
16.04.2012, 22:59     объединить преимущества кодов
Задание

Написать программу. Пользователь вводит положительное или отрицательное число. Перевести число в 2-ую систему счисления и вывести результат на экран.

Необходимо сделать максимально просто

нашел 2 кода

№1

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main()
{
    setlocale (LC_ALL, "Russian");
    int a, b=0, k=1;
    cout<<"Введите десятичное число: ";
    cin>>a;
    while (a) //пока а!=0
    {
        b+=a%2*k; //двоичное число = остаток от деления десятичного 
        //числа на 2 (это, думаю, понятно) * k (разряд) +то, что было в b
        a/=2; //само деление а на 2
        k*=10; //увеличение разряда
    }
    cout<<"Двоичное число: "<<b<<endl;
 
    return 0;
}

№2

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
 
using namespace std;
 
string dectobin(int num) // функция для перевода
{
    string result; // строка для результата
    for (; num!=0; num>>=1) // цикл со сдвигом вправо на 1 бит (работает быстрее чем деление на 2,
         //но также делит)
        result.insert(0, num&1 ? "1" : "0"); // вставка цифры в начало строки (1 если последний бит 1, 0 если 0)
    return result; // возврат результата
}
 
int main(int argc, char *argv[])
{
        // тут думаю понятно, ввод данных и вызов функции
    int num;
    cout<<"Enter number: ";
    cin>>num;
    cout<<dectobin(num);
    return 0;
}

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

Помогите совместить их чтобы в итоге код соответствовал заданию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru