Przejście z cstdio na iostream
Ostatnio zmodyfikowano 2015-11-22 22:09
midaged Temat założony przez niniejszego użytkownika |
Przejście z cstdio na iostream » 2015-11-22 21:49:56 Wcześniej programowałem w bibliotece cstdio, teraz chcę przejść na iostream. Czy ktoś szybko mi powie czy w poniższym programie znajdują się jakieś błędy związane z tym przejściem? #include <iostream> using namespace std; int main() { int n; cin >> n; int h[ n ], g[ n ], mi, th; long long sh, hm; short int m[ n ], tm, sm, mm; for( int a = 0; a < n; a++ ) { cin >> h[ n ] >> m[ n ] >> g[ n ]; if( a == 0 ) mi = g[ a ]; else { if( g[ a ] < mi ) mi = g[ a ]; } } for( int a = 0; a < n; a++ ) { if( h[ a ] < mi ) { sm = 0; sh = 0; for( int b = 0; b < n; b++ ) { if( h[ b ] < h[ a ] ) { if( m[ b ] <= m[ a ] ) { tm = m[ a ] - m[ b ]; th = h[ a ] - h[ b ]; } else { tm = m[ a ] - m[ b ] + 100; th = h[ a ] - h[ b ] - 1; } } else { if( h[ b ] == h[ a ] ) { if( m[ b ] <= m[ a ] ) { th = 0; tm = m[ a ] - m[ b ]; } else { th = g[ b ] - 1; tm = 100 - m[ b ] + m[ a ]; } } else { if( m[ b ] <= m[ a ] ) { th = g[ b ] - h[ b ] + h[ a ]; tm = m[ a ] - m[ b ]; } else { th = g[ b ] - h[ b ] + h[ a ] - 1; tm = 100 - m[ b ] + m[ a ]; } } } if( sm + tm > 99 ) { sm -= 100 - tm; sh += th + 1; } else { sm += tm; sh += th; } } if( a == 0 ) { hm = sh; mm = sm; } else { if( sh < hm ) { hm = sh; mm = sm; } else { if( sh == hm ) { if( sm < mm ) mm = sm; } } } } } cout << hm << mm; return 0; }
|
|
michal11 |
» 2015-11-22 21:58:58 Wybacz ale z takim nazywanie zmiennych i formatowaniem nie chce mi się tego czytać i analizować (nie wiem nawet co ten program miałby robić). Mam nadzieję, że ktoś bardziej cierpliwy i wyrozumiały ci pomoże. |
|
carlosmay |
» 2015-11-22 22:09:12 Zacznijmy od deklaracji tablic. Standard mówi, że rozmiar tablicy statycznej ma być znany w momencie kompilacji.
Nie chciało mi się tego analizować wiec skompilowałem. Kod przyjmuje jakieś liczby, nic z nimi nie robi i na koniec wyświetla 'śmieci'. |
|
« 1 » |