Tablica. Minimum i maksimum
Ostatnio zmodyfikowano 2015-11-18 10:08
heheszek Temat założony przez niniejszego użytkownika |
Tablica. Minimum i maksimum » 2015-11-17 18:29:22 Witam. Mam problem z wyznaczeniem maksymalnej i minimalnej sumy cyfr (druga opcja) :/ Ktoś mógłby mnie naprowadzić dlaczego mi to nie działa? #include<iostream> #include<fstream> #include<cstdlib> #include<cstdio>
int suma( long long n ) { if( n > 0 ) return n % 10 + suma( n / 10 ); return 0; }
using namespace std;
int main()
{ int n, a, o, i; float max, min; cout << "Autor: Niewazne\n"; cout << "Program wykonuje osobno kolejne operacje z podpunktow a-c z zadania\n\n"; cout << "Prosze wybrac numer operacji\n"; cout << "1 - a) Wyznacza ilosc liczb parzystych i nieparzystych\n"; cout << "2 - b) Wyznacza najwieksza i najmniejsza sume cyfr\n"; cin >> o; if( o == 1 ) { char nazwa[ 100 ]; cout << "Podaj z jakiego pliku chcesz odczytac wyrazy." << endl; cin >> nazwa; ifstream we( nazwa ); if( !we ) { cout << "Nie mozna otworzyc pliku"; getchar(); return 1; } while( !we.eof() ) { we >> n; if( n % 2 == 0 ) { cout << n << " ==> jest to liczba parzysta" << endl; i++; } else cout << n << "==> jest to liczba nieparzysta" << endl; } we.close(); cout << "Jest " << i << "liczb parzystych.\n"; cout << "Jest " << 1000 - i << "liczb nieparzystych.\n"; } if( o == 2 ) { int tab[ 2000 ] = { 0 }; int tmp = 0; char nazwa[ 100 ]; cout << "Podaj z jakiego pliku chcesz odczytac wyrazy." << endl; cin >> nazwa; ifstream we( nazwa ); if( !we ) { cout << "Nie mozna otworzyc pliku"; getchar(); return 1; } while( !we.eof() ) { we >> a; n = suma( a ); cout << a << " Suma cyfr tej liczby wynosi " << n << endl; cout << endl; } { int tab[ n ]; int i = 0; int n = 0; int max = tab[ n ]; int min = tab[ n ]; for( n = 0; n < i; n++ ) { if( n == 0 ) { } else if( tab[ n ] > max ) { max = tab[ n ]; } else if( tab[ n ] < min ) { min = tab[ n ]; } } cout << min << endl; cout << max << endl; } } system( "PAUSE" ); return 0; }
|
|
darko202 |
» 2015-11-18 10:08:31 opcja 2
1. zastanów się nad zmienną n ? co przechowuje, a co powinna przechowywać ?
n = suma( a ); chyba powinno być n = ilość wczytanych danych
2. zastanów się nad tab[ n ]; co tam jest, a co chciałbyś mieć ? w programie analizujesz tab[n] jakby coś sensownego zawierała a tab[ n ]; pusta bo wyrazy z pliku wczytałeś wcześniej w powietrze
|
|
« 1 » |