[C++] Wypisanie liczby zer w zapisie binarnym liczby

robertos18
Użytkownik
Użytkownik
Posty: 423
Rejestracja: 6 paź 2014, o 20:03
Płeć: Mężczyzna
Lokalizacja: Torun
Podziękował: 127 razy
Pomógł: 2 razy

[C++] Wypisanie liczby zer w zapisie binarnym liczby

Post autor: robertos18 »

Wypisz liczbę zer w zapisie binarny liczby. Dodatkowe polecenie nr 1: Dodatkowo wypisz tę liczbę zapisaną binarnie. Dodatkowe polecenie nr 2: Wypisz tę liczbę zapisaną binarnie bez korzystania z tablic.

Pierwsza część zadania:

Kod: Zaznacz cały

#include <iostream>

using namespace std;
void zamien(int n)
{
    int j=0;
    while(n!=0)
    {
        if(n%2==0) j++;
        n=n/2;
    }
    cout <<j;
}

int main()
{
    int n;
    cout << "podaj liczbe naturalna"<<endl;
    cin >> n;
    zamien(n);
    return 0;
}
modyfikacja nr 1

Kod: Zaznacz cały

#include <iostream>

using namespace std;
void zamien(int n)
{
    int i=0,tab[31];
    while(n!=0)
    {
        tab[i++]=n%2;
        n=n/2;
    }
    for(int j=i-1;j>=0;j--)
    cout<<tab[j];
}

int main()
{
    int n;
    cout << "podaj liczbe naturalna"<<endl;
    cin >> n;
    zamien(n);
    return 0;
}
modyfikacja nr 2

Kod: Zaznacz cały

#include <iostream>

using namespace std;
void zamien(int n)
{
     int i=31;
bool ok=false;
    while(i--)
    {
        if(n>>i&1&!ok)
      ok=true;

    if(ok)
      cout<<((n>>i)&1);
    }

}

int main()
{
    int n;
    cout << "podaj liczbe naturalna"<<endl;
    cin >> n;
    zamien(n);
    return 0;
}
Dobrze wykonane zadanie?
Ostatnio zmieniony 17 mar 2015, o 19:26 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Gouranga
Użytkownik
Użytkownik
Posty: 1565
Rejestracja: 16 maja 2013, o 17:56
Płeć: Mężczyzna
Lokalizacja: Trójmiasto
Podziękował: 11 razy
Pomógł: 243 razy

[C++] Wypisanie liczby zer w zapisie binarnym liczby

Post autor: Gouranga »

Beznadziejnie
już samo użycie funkcji void do wypisania liczby zer jest przegranym pomysłem, poprawnie byłoby użyć funkcji int i liczbę zer zwrócić wyświetlajac ją w programie głównym.
Nauczycie się popełniać takie błędy a potem jest płacz, że nie wiem co robi mój program bo każda funkcja coś wypisuje i w konsoli jest większy bałagan niż w NFZ
robertos18
Użytkownik
Użytkownik
Posty: 423
Rejestracja: 6 paź 2014, o 20:03
Płeć: Mężczyzna
Lokalizacja: Torun
Podziękował: 127 razy
Pomógł: 2 razy

[C++] Wypisanie liczby zer w zapisie binarnym liczby

Post autor: robertos18 »

ale poprawnie dziala ;p
Gouranga
Użytkownik
Użytkownik
Posty: 1565
Rejestracja: 16 maja 2013, o 17:56
Płeć: Mężczyzna
Lokalizacja: Trójmiasto
Podziękował: 11 razy
Pomógł: 243 razy

[C++] Wypisanie liczby zer w zapisie binarnym liczby

Post autor: Gouranga »

Jak kiedyś będziesz miał dziecko i będzie płakało to je zabijesz i skwitujesz to zdaniem "ale przynajmniej się uciszyło"? Nie chodzi o efekt tylko o to, że tak się po prostu nie robi.
ODPOWIEDZ