funkcje wzorcowe problem.
Ostatnio zmodyfikowano 2013-03-20 12:36
alek44 Temat założony przez niniejszego użytkownika |
funkcje wzorcowe problem. » 2013-03-19 21:24:47 Napisz funkcje wzorcową MaxT zwracającą maximum elementów tablicy. Dunkcje wykaorzystaj do wyznaczenia maksimum - w tablicy liczb całkowitych - w tablicy napisów. Takie mam polecenie zrobiłem pkt pierwszy ale nie działa mi 2 nie wiem za bardzo jak to zrobić. #include<iostream> #include<string>
using namespace std; template < class T >
T MaxT( T * tab, int n ) { T max = tab[ 0 ]; for( int i = 0; i <= n; i++ ) { if( tab[ i ] > max ) max = tab[ i ]; } return max; } template < class T > T MaxTS( T * tab, int n ) { T max = tab[ 0 ]; for( int i = 0; i <= n; i++ ) { if( tab[ i ] > max ) max = tab[ i ]; } return max; } int main() { int tab[] = { 2, 3, 4, 0, 6, 2, 8 }; cout << MaxTS( tab, 6 ); string tab2[] = { "1", "2", "3" }; cout << MaxTS( tab2, 3 ); system( "pause" ); }
|
|
pekfos |
» 2013-03-19 21:27:08 Napisz specjalizację szablonu. Zamiast sprawdzać czy jest większe, użyj std::lexicographical_compare . |
|
alek44 Temat założony przez niniejszego użytkownika |
» 2013-03-19 22:01:28 mało mi to mówi. mysle ze da sie jakosc inaczej ... |
|
Monika90 |
» 2013-03-20 06:25:52 "funkcja wzorcowa" - skąd wziąłeś taką terminologię? To jest szablon funkcji. A nie działa dlatego, że wychodzi poza zakres tablicy. Pętla powinna wyglądać tak: for( int i = 1; i < n; ++i ) { }
gdzie n to rozmiar tablicy. |
|
unimator |
» 2013-03-20 12:36:45 Napisz funkcje wzorcową MaxT zwracającą maximum elementów tablicy.
|
Chyba chodziło Ci o maksymalny (największy) element tablicy. Bo to co Ty napisałeś wskazywałoby na ilość elementów (czyli rozmiar) tablicy. Dunkcje wykaorzystaj do wyznaczenia maksimum - w tablicy napisów.
|
Co rozumiesz pod pojęciem największego/maksymalnego stringa? |
|
« 1 » |