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

Zadanie string

Ostatnio zmodyfikowano 2020-04-02 16:39
Autor Wiadomość
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

C/C++
#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?
P-176596
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.
P-176599
« 1 »
  Strona 1 z 1