przenoszenie tablicy pomiędzy funkcjami
Ostatnio zmodyfikowano 2011-11-03 19:38
danielwilam Temat założony przez niniejszego użytkownika |
przenoszenie tablicy pomiędzy funkcjami » 2011-11-03 14:59:57 Witam, mam problem z przekazaniem tablicy dwu wymiarowej pomiędzy dwiema funkcjami. plik main.cpp #include <cstdlib> #include <iostream> #include "macierz.hpp"
using namespace std;
int main( int argc, char * argv[] ) { int ax, ay, bx, by; cin >> ax; cin >> ay; cin >> bx; cin >> by; macierza( ax, ay ); macierzb( bx, by ); dodajmacierz( macierza( ax, ay ), macierzb( bx, by ), ax, by ); system( "PAUSE" ); return EXIT_SUCCESS; } plik macierz.cpp #include "macierz.hpp"
int macierza( int ax, int ay ) { int A[ ax ][ ay ]; for( int w = 1; w <= ax; w++ ) { for( int k = 1; k <= ay; k++ ) { std::cout << "A[" << w << "." << k << "] = "; std::cin >> A[ w ][ k ]; } } std::cout << "\n"; return A[ ax ][ ay ]; }
int macierzb( int bx, int by ) { int B[ bx ][ by ]; for( int w = 1; w <= bx; w++ ) { for( int k = 1; k <= by; k++ ) { std::cout << "B[" << w << "." << k << "] = "; std::cin >> B[ w ][ k ]; } } std::cout << "\n"; return B[ bx ][ by ]; }
int dodajmacierz( int A, int B, int ax, int by ) { int C[ ax ][ by ]; for( int i = 1; i <= ax; i++ ) { for( int j = 1; j <= by; j++ ) { C[ i ][ j ] = A[ i ][ j ] + B[ i ][ j ]; } } for( int i = 1; i <= ax; i++ ) { std::cout << "\n"; for( int j = 1; j <= by; j++ ) std::cout << " " << C[ i ][ j ]; } std::cout << "\n"; return C[ ax ][ by ]; } plik macierz.hpp #ifndef macierz_hpp #define macierz_hpp #include <iostream> #include <string>
int macierza( int ax, int ay ); int macierzb( int bx, int by ); int dodajmacierz( int A, int B, int ax, int by );
#endif
błąd w 44 linijce kodu w pliku macierz.cpp |
|
Drraven |
» 2011-11-03 15:53:52 czyli w której ?:D |
|
pekfos |
» 2011-11-03 17:31:22 To powiedz jeszcze jaki błąd. //edit: 44. to ta: C[ i ][ j ] = A[ i ][ j ] + B[ i ][ j ];
//edit2: Jak tak chcesz się bawić to użyj dynamicznej alokacji bo to jest niedozwolone. |
|
akwes |
» 2011-11-03 19:38:30 const int ax = 30; const int ay = 60; int A[ ax ][ ay ];
Oczywiście żartuje :P Vektor vektorów albo dynamiczna tablica ( czyli to samo w sumie ) |
|
« 1 » |