Dynamiczne alokowanie pamięci
Ostatnio zmodyfikowano 2017-02-04 20:55
Maciekb Temat założony przez niniejszego użytkownika |
Dynamiczne alokowanie pamięci » 2017-02-01 14:23:49 #include<iostream> using namespace std; double maximum( double tab[], int ile ) { double max; max = tab[ 0 ]; for( int i = 1; i < ile; i++ ) { if( tab[ i ] > max ) max = tab[ i ]; } return max; }
int main() { int ile; double * wskaznik; cout << "Podaj ilosc liczb:" << endl; cin >> ile; wskaznik = new double tab[ ile ]; cout << "Podaj 5 liczb:" << endl; for( int i = 0; i < 5; i++ ) cin >> tab[ i ]; cout << "MAX:" << maximum( tab, ile ); delete[] wskaznik; }
Kompilator wywala błąd: a nowe\max.cpp||In function 'int main()':| a nowe\max.cpp|25|error: expected ';' before 'tab'| a nowe\max.cpp|29|error: 'tab' was not declared in this scope| a nowe\max.cpp|30|error: 'tab' was not declared in this scope| ||=== Build finished: 3 errors, 0 warnings ===| Chciałbym się zapytać co zrobiłem nie tak? :) |
|
michal11 |
» 2017-02-01 14:30:20 wskaznik = new double[ ile ]; |
|
mateczek |
» 2017-02-01 14:39:36 |
|
Eshelnah |
» 2017-02-01 14:48:17 |
|
Maciekb Temat założony przez niniejszego użytkownika |
» 2017-02-01 19:04:38 #include<iostream> using namespace std; double maximum( double tab[], int ile ) { double max; max = tab[ 0 ]; for( int i = 1; i < ile; i++ ) { if( tab[ i ] > max ) max = tab[ i ]; } return max; }
int main() { int ile; double * wskaznik; cout << "Podaj ilosc liczb:" << endl; cin >> ile; tab = new double[ ile ]; tab[ ile ]; cout << "Podaj 5 liczb:" << endl; for( int i = 0; i < 5; i++ ) cin >> tab[ i ]; cout << "MAX:" << maximum( tab, ile ); delete[] wskaznik; }
a nowe\max.cpp||In function 'int main()':| a nowe\max.cpp|25|error: 'tab' was not declared in this scope| ||=== Build finished: 1 errors, 0 warnings ===| Mam jeszcze pytanie dlaczego to nie działa mimo że jest zrobione jak w przykładzie(przynajmniej według mnie)? |
|
michal11 |
» 2017-02-01 19:50:08 Gdzie deklarujesz tab w mainie? |
|
Maciekb Temat założony przez niniejszego użytkownika |
» 2017-02-04 15:42:38 #include<iostream> using namespace std; double boubblesort( double tab[], int ile ) { double buf; for( int j = 0; j < ile--; j++ ) { for( int i = 0; i < ile--; i++ ) { if( tab[ i ] > tab[ i + 1 ] ) { buf = tab[ i + 1 ]; tab[ i + 1 ] = tab[ i ]; tab[ i ] = buf; } } } } int main() { int ile; cout << "Podaj ilosc liczb:"; cin >> ile; cout << "Podaj liczby:" << endl; double tab[ ile ]; for( int i = 0; i < ile; i++ ) cin >> tab[ i ]; cout << "" << endl; boubblesort( tab, ile ); for( int i = 0; i < ile; i++ ) cout << tab[ i ] << endl; }
Czy można ustawić ilość komórek w tablicy w ten sposób jeśli ta wartość jest ustawiana na początku i nie zmienia się w trakcie działania programu? |
|
1aam2am1 |
» 2017-02-04 16:22:39 Nie, tego nie można zrobić w C++ chociaż niektóre kompilatory mogą to obsługiwać. |
|
« 1 » 2 |