• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pierwszy i ostatni element liczby.

Object Storage Arubacloud
0 głosów
860 wizyt
pytanie zadane 19 marca 2021 w C i C++ przez xTMx3 Obywatel (1,560 p.)

Witam, 

przychodzę z pytaniem, na które zapewne jest banalna odpowiedź, ale, na którą sam wpaść niestety nie mogę. 

Mierząc się z pewnym zadaniem zatrzymałem się w momencie, gdzie muszę sprawdzić czy pierwsza cyfra z liczby, która zapisywana jest w zmiennej "dziesietna" jest taka sama jak ostatnia cyfra tej liczby. Jeśli warunek jest prawdziwy, to "ile" ma być zwiększane o jeden, ale to już nieistotne. 

Mój problem polega na tym, w jaki sposób mogę dostać się do tej pierwszej oraz ostatniej cyfry? 

Chodzi mi o coś takiego: 

int dziesietna=liczba;

if(/*pierwsza cyfra z liczby zapisanej w dziesietna */ == /* ostatnia cyfra z liczby zapisanej w dziesietna */)
{
ile++;
}

Mając tą liczbę jako string mógłbym to zapisać jakoś tak: 

int dziesietna=liczba;

if(dziesietna[0] == dziesietna[dziesietna.size()-1)
{
ile++;
}

Ale nie mogę zmienić "dziesietna" na string, bo wtedy nie będę mógł zapisać w niej wyniku działania funkcji, musi być int. Widziałem już na kilku stronach różne rozwiązania, ale wszystkie zawierały jakieś funkcje to_string itp, a ja jestem dopiero początkujący i chciałbym dowiedzieć się czy w inny sposób da się to jakoś zrobić? 

komentarz 19 marca 2021 przez tkz Nałogowiec (42,000 p.)
Dziesiątek, czy jedności? Używasz pierwszego słowa, a kod prezentuje drugi wyraz. Z liczby 123, chcesz wyciągnąć 2, czy 3?
komentarz 19 marca 2021 przez xTMx3 Obywatel (1,560 p.)
Chodzi o to:

Mając np. 123 potrzebuję 1 i 3,

mając  5681 potrzebne byłyby 5 i 1.

1 odpowiedź

+2 głosów
odpowiedź 19 marca 2021 przez SzkolnyAdmin Szeryf (86,920 p.)
wybrane 19 marca 2021 przez xTMx3
 
Najlepsza

Ostatnia cyfra w liczbie to nie problem:

int lastDigit = liczba%10;

Pierwszą cyfrę liczby uzyskasz przy pomocy funkcji:

int firstDigit(int n) {
    int x;
    do {
        x = n%10;
        n = n/10;
    }
    while(n>0);
    return x;
}

 

komentarz 19 marca 2021 przez xTMx3 Obywatel (1,560 p.)
Tak jak myślałem, rozwiązanie niezbyt trudne, tylko głowa odmawia współpracy.

Dzięki wielkie :)

Podobne pytania

0 głosów
1 odpowiedź 147 wizyt
+1 głos
2 odpowiedzi 154 wizyt
pytanie zadane 27 sierpnia 2021 w HTML i CSS przez ShockWave Bywalec (2,350 p.)
0 głosów
1 odpowiedź 153 wizyt
pytanie zadane 2 marca 2019 w JavaScript przez piotruchk Nowicjusz (170 p.)

92,661 zapytań

141,557 odpowiedzi

320,000 komentarzy

62,028 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...