Matura z informatyki - rozwiązania zadań  

Algorytmy

Liczba z systemu 10 na 2

Algorytm iteracyjny:

#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

main()
{
    string s = "";
    int liczba, reszta;
    cout << "Program zamienia podana liczbe dziesietna na liczbe binarna." << endl;
    cout << "Podaj liczbe do zamiany" << endl;
    cin >> liczba;
    do {
        reszta = liczba % 2;
        s = char(reszta + 48) + s;
        liczba = liczba / 2;
    } while (liczba != 0);
    cout << s << endl;
  system("pause");
  return 0;
}

 

Algorytm rekurencyjny:


#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

void dec_to_bin(int liczba)
{
  if(liczba>0)
  {

    dec_to_bin(liczba/2); //dzielimy przez dwa bez reszty (liczba maleje w kierunku zera -> patrz warunek przy if)
    cout<<liczba%2; //wyświetlenie cyfry binarnej (operacja modulo) - zapisana jako
                    //druga operacja (po wywołaniu funkcji dec_to_bin) pozwoli 
                    //na wyswietlenie znakow liczby binarnej w odpowiedniej kolejnosci
  }
}

int main()
{
  int liczba;

  cout<<"Podaj liczbe: ";
  cin>>liczba;
  cout<<"Postac binarna liczby "<<liczba<<": ";

  dec_to_bin(liczba);

  cout<<endl;

  system("pause");
  return 0;
}
© 2017 MaturaInformatyka.pl || Kontakt: admin(malpa)maturainformatyka.pl

Search