Zliczanie wyrazów i liczb
Ostatnio zmodyfikowano 2014-08-04 15:28
killermannnnn Temat założony przez niniejszego użytkownika |
Zliczanie wyrazów i liczb » 2014-08-04 15:09:59 Zrobiłem program, który wyświetla ile zostało podanych na wejściu wyrazów a ile liczb. Dostaje dziwne wyniki. Jak sa same wyrazy lub same liczby to podaje ilosc o jeden za mało. Jak sa i wyrazy oraz liczby to wyrazy podaje dobrze a liczby źle. Co jest zle? #include <iostream> #include <conio.h> #include <cstdio>
using namespace std;
int main() { string s; long long int liczby = 0, wyrazy = 0; while( cin >> s ) { if( cin.peek() == '\n' ) { cout << liczby << " " << wyrazy << endl; liczby = 0; wyrazy = 0; } else if( s[ 0 ] == '0' || s[ 0 ] == '1' || s[ 0 ] == '2' || s[ 0 ] == '3' || s[ 0 ] == '4' || s[ 0 ] == '5' || s[ 0 ] == '6' || s[ 0 ] == '7' || s[ 0 ] == '8' || s[ 0 ] == '9' ) liczby += 1; else wyrazy += 1; } }
|
|
pekfos |
» 2014-08-04 15:14:27 Przez konstrukcję programu nie zliczasz ostatniego stringa w linii. Jedno else niepotrzebne, zła kolejność warunków. |
|
killermannnnn Temat założony przez niniejszego użytkownika |
» 2014-08-04 15:28:42 OK, dzieki za pomoc :) |
|
« 1 » |