[C++]Przedostatnia liczba...

Terq
Użytkownik
Użytkownik
Posty: 70
Rejestracja: 20 paź 2011, o 22:49
Płeć: Mężczyzna
Lokalizacja: pl
Podziękował: 38 razy

[C++]Przedostatnia liczba...

Post autor: Terq »

Mam takie zadanie.

"Sprawdza, czy wczytana liczba całkowita ma przedostatnią cyfrę większą od 4 i wyświetla odpowiednie komunikaty, jeżeli tak jest i tak nie jest."

Jak się do tego zabrać, z tym że nie uzywając żadnych tablic itp, na razie jestesmy na etapie instrukcji warunkowych, da radę zrobić to oparte na ifach?

Może jakieś wskazówki od czego zacząć bo mi nic do głowy nie przychodzi puki co.
Awatar użytkownika
ares41
Użytkownik
Użytkownik
Posty: 6499
Rejestracja: 19 sie 2010, o 08:07
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 142 razy
Pomógł: 922 razy

[C++]Przedostatnia liczba...

Post autor: ares41 »

przedostatnia cyfra \(\displaystyle{ a}\) liczby \(\displaystyle{ n}\) to \(\displaystyle{ [(n-(n \mod{10}))/10]\mod 10}\)
Xitami

[C++]Przedostatnia liczba...

Post autor: Xitami »

czyli zawsze zero?
raczej (n/10)%10
Terq
Użytkownik
Użytkownik
Posty: 70
Rejestracja: 20 paź 2011, o 22:49
Płeć: Mężczyzna
Lokalizacja: pl
Podziękował: 38 razy

[C++]Przedostatnia liczba...

Post autor: Terq »

Trochę się nad tym zastanawiałem i czegoś nie rozumiem.

ares41, ten twój sposób \(\displaystyle{ [(n-(n \mod{10}))/10]\mod 10}\) działa i w JS i w C++

Natomiast (n/10)%10 (sposób podany przez Xitami), działa tylko w C++, w JS wyskakuje mi cyfra rzeczywista...

JS:

Kod: Zaznacz cały

var n=123;
document.write((n/10)%10); 
Wynik w przeglądarce to: 2.3000000000000007

C++

Kod: Zaznacz cały

int n;

cout << "Podaj liczbe."; //Podaje 123
cin >> n;
int w = (n/10)%10;
cout << w;
Wynik w programie to: 2

I tu moje pytanie, tak trochę już po za tym zadaniem co mam zrobić. Co trzeba zrobić, aby program w C++ wypluwał mi liczbę rzeczywistą zamiast całkowitej (tj. 2.3000000000000007 zamiast 2). Bo gdy zmienie "w" z int na float to tez nic nie daje.
Xitami

[C++]Przedostatnia liczba...

Post autor: Xitami »

w javie jest pewnie jakieś truncate albo floor i wtedy (chyba) floor(n/10)%10
w C kłopotu nie ma bo dzielna i dzielnik całkowite, a wtedy i dzielenie całkowite
ODPOWIEDZ