Tablica dynamiczna w klasie.
Ostatnio zmodyfikowano 2015-12-05 08:47
pepe450 Temat założony przez niniejszego użytkownika |
Tablica dynamiczna w klasie. » 2015-12-05 07:59:11 Witam wydaje mi się że napisałem prawidłowo poniższy kod jednak zauważyłem że funkcja void Sales::ShowSales() pokazuje inne wartości niż wprowadzam z klawiatury. Czy zle operuję wskaznikiem stąd ten bład? #include<iostream> #include<cstdlib> using namespace std; class Sales { double * sales; int rozmiar; double average; double minimum; double maksimum; public: Sales() { cout << "Bez paremetru" << endl; cout << "Podaj rozmiar tablicy: " << endl; cin >> rozmiar; sales = new double[ rozmiar ]; average = 0; minimum = 0; maksimum = 0; } Sales( int r ) { cout << "Z parametrem" << endl; average = 0; minimum = 0; maksimum = 0; double sum = 0; rozmiar = r; sales = new double[ rozmiar ]; for( int i = 0; i < rozmiar; i++ ) { sales[ i ] = rand() % 100; if( i == 0 ) minimum = maksimum = sales[ i ]; sum += sales[ i ]; if( minimum > sales[ i ] ) swap( minimum, sales[ i ] ); else if( maksimum < sales[ i ] ) swap( maksimum, sales[ i ] ); } average = sum / rozmiar; } ~Sales() { delete[] sales; } void SetSales(); void ShowSales(); };
int main() { Sales a; a.SetSales(); a.ShowSales(); Sales b( 5 ); b.ShowSales(); return 0; } void Sales::SetSales() { double sum = 0; for( int i = 0; i < rozmiar; i++ ) { cout << "Podaj " << i << " wartosc do struktury: " << endl; cin >> sales[ i ]; if( i == 0 ) minimum = maksimum = sales[ i ]; sum += sales[ i ]; if( minimum > sales[ i ] ) swap( minimum, sales[ i ] ); else if( maksimum < sales[ i ] ) swap( maksimum, sales[ i ] ); } average = sum / rozmiar; } void Sales::ShowSales() { cout << "Zawartosc struktury: " << endl; cout << "Wartosci z tablicy: " << endl; for( int k = 0; k < rozmiar; k++ ) cout << sales[ k ] << endl; cout << endl; cout << "Minimum: " << minimum << endl; cout << "Maksimum: " << maksimum << endl; cout << "Srednia: " << average << endl; }
|
|
carlosmay |
» 2015-12-05 08:47:27 Jak zamieniasz miejscami to robi się misz-masz, a później cuda w wynikach. sum += sales[ i ]; if( minimum > sales[ i ] ) minimum = sales[ i ]; else if( maksimum < sales[ i ] ) maksimum = sales[ i ];
|
|
« 1 » |