Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++] wybór jednej cyfry

Ostatnio zmodyfikowano 2013-02-18 21:07
Autor Wiadomość
megatron
Temat założony przez niniejszego użytkownika
[c++] wybór jednej cyfry
» 2013-02-18 18:47:01
Witam wszystkich. Przez około godzinę szukam czegoś takiego:
mam w zmiennej np. cyfrę 1234 i chcę teraz z niej odczytać tylko drugą cyfrę,
lecz nie wiem czy to w ogóle możliwe, chociaż w stringach coś takiego widziałem.
P-76499
Savail
» 2013-02-18 18:52:59
Jeśli masz liczbę zapisaną w typie całkowitym to możesz przekonwertować liczbę na std::string w ten sposób:
C/C++
int liczba = 1234;
stringstream ss;
string str;
ss << liczba;
ss >> str;
std::cout << str;
A ze stringa możesz wyciągnąć pojedynczy znak używając
std::string::at( int pos );
P-76500
abdi
» 2013-02-18 19:46:46
Trochę inna metoda. Masz tutaj napisane na przykładzie, ale z napisanie algorytmu do tego powinieneś sobie chyba poradzić.
C/C++
int main()
{
    int x = 1234;
    cout << "jednosci: " << 1234 % 10;
    cout << "\ndziesiatki: " <<(( 1234 % 100 ) -( 1234 % 10 ) ) / 10;
    cout << "\nsetki: " <<(( 1234 % 1000 ) -( 1234 % 100 ) ) / 100;
   
}

to jest mój kod, ale znalazłem też coś takiego:
http://kacperkolodziej.com/artykuly/programowanie/204-wyciaganie-fragmentu-liczby.html
P-76501
megatron
Temat założony przez niniejszego użytkownika
» 2013-02-18 20:24:20
Dzieki stary ale super bylo gdy by dalo sie wstawiac cyfry z czesciami dziesietnymi
P-76502
abdi
» 2013-02-18 20:37:07
Masz tutaj trochę zedytowaną I metodę.

C/C++
int main()
{
    float liczba = 1234.2;
    stringstream ss;
    string str;
    ss << liczba;
    ss >> str;
    //std::cout << str;
   
    int x = str.find( "." );
    str.erase( x, 1 );
    cout << str;
}

II

C/C++
int main()
{
    int calkowita;
    double liczba = 1234.22;
   
   
    while( calkowita != liczba )
    {
        liczba = liczba * 10;
        calkowita = liczba;
    }
   
    cout << liczba;
   
}

P-76503
megatron
Temat założony przez niniejszego użytkownika
» 2013-02-18 21:07:24
Ta druga metoda jest najlepsza, dzieki wielkie.
P-76504
« 1 »
  Strona 1 z 1