Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
! 2.11.2020 (L) Vykreslete si svůj první matematický výraz přes MathJax!
! 04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
17.01.2016 (Jel.) Rok 2016 s novými a novějšími krystaly od kolegy Pavla!
17.01.2016 (Jel.) Nabídka knih z oborů matematiky, fyziky, chemie
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 18. 10. 2020 19:07

Tmitheadway
Zelenáč
Příspěvky: 10
Reputace:   
 

Převod do šestnáctkové soustavy

Dobrý den. Prosím o pomoc s rozdělením programu na jednotlivé soubory.

Mám hotový program, ale nevím, jak se ho dá pořádně rozdělit.

Zadání zní takto: Napište program, který číslo zadané v desítkové soustavě převede do šestnáctkové soustavy.
Program rozdělte do funkcí: jedna funkce provede vlastní převod a uloží výsledek do vhodné paměťové strukturya druhá funkce uložený výsledek vypíše na standardní výstup.

Děkuji



#include <iostream>

using namespace std;

int main()
{
    int cislo[20];
    int des_soustava, zbytek, vysledek, i = 0;
   
    cout << "Zadejte desetinné číslo, které chcete převést: " << endl;
    cin >> des_soustava;
   
    do
    {
        zbytek = des_soustava % 16;
        vysledek = des_soustava / 16;
        cislo[i] = zbytek;
        des_soustava = vysledek;
        i++;
    } while (vysledek > 15);
   
    cislo[i] = vysledek;
   
    cout << "Ekvivalent v šestnáctkové soustavě je : ";
   
    for (int j = i; j >= 0; j--)
    {
        if (cislo[j] == 10)
        {
            cout << "A";
        }
        else if (cislo[j] == 11)
        {
            cout << "B";
        }
        else if (cislo[j] == 12)
        {
            cout << "C";
        }
        else if (cislo[j] == 13)
        {
            cout << "D";
        }
        else if (cislo[j] == 14)
        {
            cout << "E";
        }
        else if (cislo[j] == 15)
        {
            cout << "F";
        }
        else
        {
            cout << cislo[j];
        }
    }
    cout << endl;
    system("PAUSE");
}

Offline

 

#2 18. 10. 2020 21:41

Stýv
Vrchní cenzor
Příspěvky: 5540
Reputace:   211 
Web
 

Re: Převod do šestnáctkové soustavy

Program rozdělte do funkcí: jedna funkce provede vlastní převod a uloží výsledek do vhodné paměťové strukturya druhá funkce uložený výsledek vypíše na standardní výstup.

Offline

 

#3 19. 10. 2020 15:57

surovec
Příspěvky: 477
Škola: SPŠ
Pozice: student
Reputace:   10 
 

Re: Převod do šestnáctkové soustavy

↑ Stýv:
:-)))

Offline

 

#4 19. 10. 2020 19:06

MichalAld
Moderátor
Příspěvky: 3179
Reputace:   90 
 

Re: Převod do šestnáctkové soustavy

Taky je trošku úsměvné převádět "desítkové číslo" typu int na "šestnácktové číslo". Protože ono v tom počítači desítkové není, je tam dvojkové ... což má k šestnáctkovému mnohem blíž...každé 4 bity jsou jedna šestnáctková číslice....

Offline

 

#5 20. 10. 2020 17:27

check_drummer
Příspěvky: 3065
Reputace:   80 
 

Re: Převod do šestnáctkové soustavy

↑ MichalAld:
Ano, ale musí být k dispozici funkce pro práci s bity. A také ne vždy je číslo uloženo jako dvojkové - někdy se opravdu ukládají desítkové číslice (ovšem pomocí binárního kódu), takový zápis je redundantní, ale má některé výhody, např. řeší některé problémy se zaokrouhlováním, apod.


Popelka - pohádka o neprosté funkci nabývající minima v jediném bodě

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson