program przeliczający liczby systemu binarnego na system dziesiętny

Odpowiedz Nowy wątek
2015-03-13 21:34
0

Napisz program przeliczający liczby systemu binarnego na system dziesiętny.

Wejście:

W kolejnych liniach liczby w systemie binarnym których długośc nie przekracza 16 bitów.

Wyjście:

W osobnych liniach reprezentacja pobranych liczb w systemie dziesietnym.

Przykład:

wejście:

0000000000000001

0000000000001010

0000000000001111

Wyjście:

1

10

15

#include <string>
#include <iostream>

using namespace std;

int bintodec(string num)
{
 int result = 0, pow = 1;
 for ( int i = num.length() - 1; i >= 0; --i, pow <<= 1 )
 result += (num[i] - '0') * pow;

return result;
}
main(int a)
{
cin>>a;
cout << a;
string bin;
cin >> bin;
cout << bintodec(bin);

return 0;
} 

Jak wpisać 3 na raz ?

edytowany 1x, ostatnio: master2257, 2015-03-13 21:40

Pozostało 580 znaków

2015-03-13 21:42

Yyyy pętlą? Albo 3 zmiennymi?

for (int i = 0; i < ile_tam_chcemy; ++i)
{
    string binary;
    cin >> binary;
    cout << bintodec(binary) << endl;
}
int bintodec(const string& num)

nawyk nr1: przekazujemy przez stałą referencję obiekty, żeby nie kopiować niepotrzebnie

int main()

nawyk nr 2: main ma zwracać int

int main() 
{
    string a, b, c;
    cin >> a >> b >> c;
    cout << bintodec(a) << " " << bintodec(b) << " " << bintodec(c) << endl;

nie bawimy się parametrami main, nie w tym kontekście

edytowany 1x, ostatnio: twonek, 2015-03-13 21:45
Dziękuje :) - master2257 2015-03-13 21:45

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0