Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Paul_AG
6 / 6 / 0
Регистрация: 16.04.2009
Сообщений: 32
#1

преобразование из 10 значной систмы в 2 значную - C++

22.09.2009, 23:34. Просмотров 750. Ответов 6
Метки нет (Все метки)

Уважаемые програмисты в коледже задали задачу сделать преобразование из 10 значной систмы в 2 значную.Подскажите плиз чтото я совсем запутался...вот набросил кусок кода а как далше...знаю что нужен цыкл который каждый раз будет делить число на два и сверять с остатком от деления...и помещать данные в массив.идею я знаю а вот с реалезачией...подскажите если не сложно...
Код
#include <iostream>
using namespace std;
int main()

{
    int n,n2;
    n2 = 2;
               cin >> n;
                     
if( n % n2 == 0) {
                   n = 0;                  
}

else {
        n = 1;
      
}
 
    cout << n;
    cin.get();    
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2009, 23:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос преобразование из 10 значной систмы в 2 значную (C++):

Как объявить 10 значную переменную такой как 9876543210 - C++
Какой тип переменной используется для объявления 10 значной переменной такой как 9876543210? пробовал double, но компилятор выдаёт...

Программа с 4-х значной логикой - Lisp
Работа представляет собой несколько дополнительных функций и одну основную (menu), средствами которой реализована работа с модальным...

Калькулятор в 12-значной системе счисления - PascalABC.NET
Как сделать обычный калькулятор я знаю но вот тут попалось задание сделать на 12 значной.Если у кого есть киньте примеры такого...

Функция 1-ой переменной k-значной логики. Построить таблицу истинности и найти и полином - Логика и множества
f1=J2(J1(j0(x))) k=3, нужно построить таблицу истинности и полином Не могу понять, что обозначают эти тройные скобки, что означают эти...

Символическое дифференцирование-ввод формулы в связный список, преобразование в ПОЛИЗ, обратное преобразование - Pascal
Прошу помогите мне. Символическое дифференцирование-ввод формулы в связный список, преобразование в ПОЛИЗ, обратное преобразование в...

Нормальное преобразование/ортогональное преобразование - Алгебра
Добрый день. Немного запутался в обозначениях в процессе изучения алгебры и хотел бы задать такие вопросы: ...

Как объявить 10 значную переменную такой как 9876543210 - C++
Какой тип переменной используется для объявления 10 значной переменной такой как 9876543210? пробовал double, но компилятор выдаёт...

Программа с 4-х значной логикой - Lisp
Работа представляет собой несколько дополнительных функций и одну основную (menu), средствами которой реализована работа с модальным...

Калькулятор в 12-значной системе счисления - PascalABC.NET
Как сделать обычный калькулятор я знаю но вот тут попалось задание сделать на 12 значной.Если у кого есть киньте примеры такого...

Функция 1-ой переменной k-значной логики. Построить таблицу истинности и найти и полином - Логика и множества
f1=J2(J1(j0(x))) k=3, нужно построить таблицу истинности и полином Не могу понять, что обозначают эти тройные скобки, что означают эти...

Символическое дифференцирование-ввод формулы в связный список, преобразование в ПОЛИЗ, обратное преобразование - Pascal
Прошу помогите мне. Символическое дифференцирование-ввод формулы в связный список, преобразование в ПОЛИЗ, обратное преобразование в...

Нормальное преобразование/ортогональное преобразование - Алгебра
Добрый день. Немного запутался в обозначениях в процессе изучения алгебры и хотел бы задать такие вопросы: ...

Как объявить 10 значную переменную такой как 9876543210 - C++
Какой тип переменной используется для объявления 10 значной переменной такой как 9876543210? пробовал double, но компилятор выдаёт...

Программа с 4-х значной логикой - Lisp
Работа представляет собой несколько дополнительных функций и одну основную (menu), средствами которой реализована работа с модальным...

Калькулятор в 12-значной системе счисления - PascalABC.NET

Как объявить 10 значную переменную такой как 9876543210 - C++
Какой тип переменной используется для объявления 10 значной переменной такой как 9876543210? пробовал double, но компилятор выдаёт...

Программа с 4-х значной логикой - Lisp
Работа представляет собой несколько дополнительных функций и одну основную (menu), средствами которой реализована работа с модальным...

Калькулятор в 12-значной системе счисления - PascalABC.NET
Как сделать обычный калькулятор я знаю но вот тут попалось задание сделать на 12 значной.Если у кого есть киньте примеры такого...

Функция 1-ой переменной k-значной логики. Построить таблицу истинности и найти и полином - Логика и множества
f1=J2(J1(j0(x))) k=3, нужно построить таблицу истинности и полином Не могу понять, что обозначают эти тройные скобки, что означают эти...

Символическое дифференцирование-ввод формулы в связный список, преобразование в ПОЛИЗ, обратное преобразование - Pascal
Прошу помогите мне. Символическое дифференцирование-ввод формулы в связный список, преобразование в ПОЛИЗ, обратное преобразование в...

Нормальное преобразование/ортогональное преобразование - Алгебра
Добрый день. Немного запутался в обозначениях в процессе изучения алгебры и хотел бы задать такие вопросы: ...


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

Или воспользуйтесь поиском по форуму:
6
lexus_ilia
3048 / 708 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
23.09.2009, 04:43 #2
хм, я вот совсем недавно в колледже реализовывал данное задание и решил что использовать массив немного не красиво поэтому решил его вот так (переводит как целый, так и дробные числа, но не отрицательные, т.е. >0):
C
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <stdio.h>
#include <stdlib.h>
int fun(int,int);
int fun1(double,double,int);
 
int main()
{
    double a;
    int b;
    printf("VVedute 4uclo ");
    scanf("%lf",&a);
    system("cls");
    b=a;
    if ((a-b)==0) 
    {
        printf("4uclo V dec9tu4nou= %lf \n",a);
        printf("A V dvou4noi= ");
    }
    if ((a-b)!=0) fun1(a,b,b);
    else fun(b,0);
    printf("\n");
    system("pause");
    return 0;
}
 
int fun(int b,int a)
{
    a = b;
    b /=2;
    if (b!=0) fun(b,a);
    if (a%2!=0) printf("1");
    else printf("0");
    return 0;
}
 
 
int fun1(double a,double b,int c)
{
    int eps,countEps;
    b=b-a;
    system("cls");
    printf("Vvedute to4noct' perevoda ");
    scanf("%d",&eps);
    system("cls");
    printf("4uclo V dec9tu4nou= %lf \n",a);
    printf("A V dvou4noi= ");
    fun(c,0);
    countEps=0;
    printf(".");
    do
    {
        b *=2;
        if (b-1>0) 
        {
            printf("1");
            b -=1;
        }
        else
            if (b-1<0)
                printf("0");
            else
            {
                printf("1");
                b -=1;
            }
        ++countEps;
 
 
    }while( (b!=0) && (countEps<=eps));
    return 0;
}
Добавлено через 20 секунд
Может решение бредовое, но вроде простое.
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.09.2009, 05:10 #3
lf используется только для scanf, так как printf и scanf функции разные а не симметричные
0
mirso
525 / 343 / 17
Регистрация: 05.04.2009
Сообщений: 709
23.09.2009, 10:40 #4
Paul_AG,
Цитата Сообщение от Paul_AG Посмотреть сообщение
вот набросил кусок кода
детотак
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
//=========================================================
int main ()
{   
short d; 
size_t i = sizeof (short) * sizeof (size_t);//joke
 
    std::cout << " Enter your decimal number : ";
    std::cin >> d;
 
    //------------------------------------
    std::cout << " Binary number is \n  ";
    while ( i-- > 0 )
        std::cout << ( d >> i ) % 2;
 
system ( "pause > nul" );
return EXIT_SUCCESS;
}
//=========================================================
0
lexus_ilia
3048 / 708 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
23.09.2009, 13:05 #5
accept, А можно поподробней в чём проблема ? Я сделал так что-бы число переводилось и ответ был написан на экран, что не так ?
0
Paul_AG
6 / 6 / 0
Регистрация: 16.04.2009
Сообщений: 32
23.09.2009, 17:51  [ТС] #6
Нет нет все правилно)спасибо большое)))только во втором коде не понял строку size_t i = sizeof (short) * sizeof (size_t);
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
24.09.2009, 04:15 #7
Цитата Сообщение от lexus_ilia
accept, А можно поподробней в чём проблема ?
если у тебя double, то не надо в printf ставить l перед e, f, g
если у тебя float, то тоже не надо
а вот если у тебя long double, то обязательно надо поставить l

если неправильно подавать спецификаторы, это undefined behavior, то есть оно может сработать, а может выпасть

для scanf'а всё вообще по-другому, там e, f, g - принимаются во float *, поэтому, необходимо ставить l, которое означает double *
а если long double * у тебя там, то нужно вообще ставить L
0
24.09.2009, 04:15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru