Przesyłanie dwuwymiarowej tablicy do funkcji i zmiana wartości jej elementów
Ostatnio zmodyfikowano 2014-03-04 16:15
mikolec Temat założony przez niniejszego użytkownika |
Przesyłanie dwuwymiarowej tablicy do funkcji i zmiana wartości jej elementów » 2014-03-04 16:08:44 Witam wszystkich. Chciałbym się dowiedzieć dlaczego po przesłaniu do funkcji dwuwymiarowej tablicy z użyciem wskaźników nie zostają zachowane zmiany przeprowadzone wewnątrz funkcji na elementach tej tablicy. Wyświetlanie elementów tej tablicy poza funkcją daje wartości 0. Program bez problemu się kompiluje. #include <iostream> #include <fstream> using namespace std;
void load_graph( ifstream & input, int ** arr, int jobs, int machs ) { for( int i = 0; i < jobs; i++ ) { for( int j = 0; j < machs; j++ ) input >> arr[ jobs ][ machs ]; } }
int main() { ifstream file( "data.txt", fstream::in ); if( file.is_open() ) { int mach_num = 0; file >> mach_num; int ** jobs = new int *[ mach_num ]; int jobs_num = 0; file >> jobs_num; for( int i = 0; i < jobs_num; i++ ) { jobs[ i ] = new int[ jobs_num ]; } load_graph( file, jobs, mach_num, jobs_num ); cout << jobs[ 2 ][ 2 ]; cout << jobs[ 3 ][ 1 ]; } else { cerr << "Error opening file"; } return 0; }
|
|
Monika90 |
» 2014-03-04 16:11:05 input >> arr[ jobs ][ machs ];
Wszystkie wartości wczytujesz do tej samej komórki, na dodatek poza zakresem tablicy |
|
mikolec Temat założony przez niniejszego użytkownika |
Dzięki Monika » 2014-03-04 16:15:44 chyba dzisiaj za krótko spałem : ) |
|
« 1 » |