Zadanie string
Ostatnio zmodyfikowano 2020-04-02 16:39
Pawm320 Temat założony przez niniejszego użytkownika |
Zadanie string » 2020-04-01 21:11:42 Mam dwa bardzo podobne zadania i jeden problem.Mam zliczyć cyfry w napisie wiec napisałem coś takiego #include <iostream> using namespace std; int liczba_cyfr_w_napisie( string a ) { int s = 0; for( int i = 0; i < a.size(); i++ ) { if( '0' <= a[ i ] && a[ i ] <= '9' ) s++; } return s; }
int main() { string a; cout << "podaj napis" << endl; getline( cin, a ); cout << "liczba cyfr w napisie: " << liczba_cyfr_w_napisie( a ) << endl; } Chyba nawet działa jak ma działać ale nurtuje mnie dlaczego to:for('0'<=a && a<='9') działa a to f('0'<=a<='9') nie? |
|
pekfos |
» 2020-04-02 16:39:06 '0' <= a <= '9' jest równoważne z ( '0' <= a ) <= '9' , więc drugie porównanie nie działa na a, tylko wyniku porównania a z cyfrą zero, co ma wartość 0 lub 1. Najlepiej pisz tak, jak byś to mówił, a "jeśli zero jest mniejsze od x" brzmi tragicznie. |
|
« 1 » |