Wypisanie długości najdłuższego słowa spośród podanych na wejściu
Ostatnio zmodyfikowano 2012-09-22 17:57
anieszka Temat założony przez niniejszego użytkownika |
Wypisanie długości najdłuższego słowa spośród podanych na wejściu » 2012-09-21 16:40:42 Chodzi mi o takie zadanie Wejście W pierwszym wierszu wejścia znajduje się jedna liczba całkowita . W każdych z następnych wierszy znajduje się po jednym słowie. Słowa składają sie z małych liter alfabetu łacińskiego (czyli angielskiego). Długość żadnego słowa nie przekracza 20. Wyjście Program powinien wypisać długość najdłuższego słowa spośród podanych na wejściu. Nie mogę sobie poradzić z size(), żeby ta wartość się zapisała. A to moje zmagania: #include<cstdio> #include<iostream> #include<string> using std::string;
int tab[ 101 ]; int main() { string napis; int n; scanf( "%d", & n ); for( int i = 0; i < n; i++ ) { std::cin >> napis; int a = napis.length(); tab[ i ] = a; } int max =- 100; for( int i = 0; i < n; i++ ) { if( tab[ i ] > max ) tab[ i ] = max; } printf( "%d", max ); return 0; } |
|
DejaVu |
» 2012-09-21 16:43:10 size_t iMax = 0; for( ) { iMax = std::max < size_t >( iMax, sTekst.size() ); } printf( "Max length = %d\n", iMax ); |
|
anieszka Temat założony przez niniejszego użytkownika |
» 2012-09-21 16:49:05 ale jak powinnam to uzyc bo nie za bardzo rozumiem? size_t iMaxSize = 0; w tym wyrażeniu size to typ danych? |
|
DejaVu |
» 2012-09-21 16:50:42 size_t == unsigned int |
|
anieszka Temat założony przez niniejszego użytkownika |
» 2012-09-22 16:43:04 Czy mógłby mi toś wytlumaczyc jak tego uzyc? i dlaczego? Zupełnie nie rozumiem tego zapisu. |
|
DejaVu |
» 2012-09-22 17:57:12 Przecież to jest gotowiec... #include <algorithm>
size_t iMax = 0; for( ) { std::cin >> sTekst; iMax = std::max < size_t >( iMax, sTekst.size() ); } printf( "Max length = %d\n", iMax );
|
|
« 1 » |