[c] Wylawianie cyfr z liczby

soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

[c] Wylawianie cyfr z liczby

Post autor: soku11 »

WITAM!
Jak w temacie. Czy istnieje inna metoda na wylowienie z liczby, np: 12345 cyfr do odddzielnych zmiennych? Oczywiscie poza zamiana liczby na ciag znakow... POZDRO
MarcinM_wroc
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 23 sty 2008, o 00:07
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 2 razy

[c] Wylawianie cyfr z liczby

Post autor: MarcinM_wroc »

dzieląc podaną liczbę przez 10. Wtedy reszta z dzielenia (część ułamkowa) będzie reprezentować pojedyńczą cyfrę z liczby. Przy takim rozwiązaniu cyfry będą odczytywane od prawej strony.
Awatar użytkownika
kadiii
Użytkownik
Użytkownik
Posty: 642
Rejestracja: 20 gru 2005, o 21:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 130 razy

[c] Wylawianie cyfr z liczby

Post autor: kadiii »

A oto jak do tego zadania można sprytnie wykorzystać rekurencje(chodzi szczególnie o nieodwróconą kolejność liczb)

Kod: Zaznacz cały

#include <iostream>
using namespace std;
void cyfry(long long n)
{
 if(n!=0)
 {
  cyfry(n/10);
  cout<<n%10<<endl;
 }
}
int main()
{
long long n=123456789;
cyfry(n);
return 0;
}
Xitami

[c] Wylawianie cyfr z liczby

Post autor: Xitami »

warto sprawdzić działanie swojego kompilatora

Kod: Zaznacz cały

    while (n != 0) {
          cyfra= n % 10;
          n= n/10;
          .....
    }
to może być istotnie szybsze

Kod: Zaznacz cały

    while (n != 0) {
          r= n / 10;
          cyfra= n - r*10;
          n= r;
          .....
    }
codered6
Użytkownik
Użytkownik
Posty: 19
Rejestracja: 14 lut 2008, o 21:21
Płeć: Mężczyzna
Lokalizacja: Warszawa

[c] Wylawianie cyfr z liczby

Post autor: codered6 »

mozesz tez przekonwertowac to do stringa i uzyc funkcji length()
ODPOWIEDZ