Tym3k Temat założony przez niniejszego użytkownika |
Dodawanie macierzy » 2014-06-11 19:37:50 #include <iostream> #include <time.h> #include <cstdlib> using namespace std;
int const rozmiar = 4;
int wypelnij_macierzA( int ** tabA, int rozmiar, int min, int max ) { srand(( unsigned int ) time( 0 ) ); for( int i = 0; i < rozmiar; i++ ) { tabA[ i ] = new int[ rozmiar ]; for( int j = 0; j < rozmiar; j++ ) { tabA[ i ][ j ] = rand() %( max - min + 1 ) + max; cout << tabA[ i ][ j ] << " "; } cout << "\n"; } return ** tabA; }
int wypelnij_macierzB( int ** tabB, int rozmiar, int min2, int max2 ) { srand(( unsigned int ) time( 0 ) ); for( int i = 0; i < rozmiar; i++ ) { tabB[ i ] = new int[ rozmiar ]; for( int j = 0; j < rozmiar; j++ ) { tabB[ i ][ j ] = rand() %( max2 - min2 + 1 ) + max2; cout << tabB[ i ][ j ] << " "; } cout << "\n"; } return ** tabB; }
int dodaj_macierze( int ** A_tablica, int ** B_tablica, int ** suma ) { for( int i = 0; i < rozmiar; i++ ) { suma[ i ] = new int[ rozmiar ]; for( int j = 0; j < rozmiar; j++ ) { suma[ i ][ j ] = A_tablica[ i ][ j ] + B_tablica[ i ][ j ]; cout << suma[ i ][ j ] << " "; } return ** suma; } }
int main() { int ** A_tablica; int max = 20; int min = 10; A_tablica = new int *[ rozmiar ]; wypelnij_macierzA( A_tablica, rozmiar, 10, 20 ); cout << endl; int ** B_tablica; int max2 = 10; int min2 = 5; B_tablica = new int *[ rozmiar ]; wypelnij_macierzA( B_tablica, rozmiar, 5, 10 ); cout << endl; int ** suma; suma = new int *[ rozmiar ]; dodaj_macierze( suma, A_tablica, B_tablica ); delete[] A_tablica; delete[] B_tablica; delete[] suma; system( "pause" ); }
Nie wykonuje mi się tylko dodawanie macierzy i kompilator nie pokazuje błędu, ale po kompilacji i uruchomieniu programu wyskakuje okienko z komunikatem "Unhandled exception at 0x00854576 in Project1.exe: 0xC0000005: Access violation reading location 0xCDCDCDCD." Ktoś może mnie nakierować o co chodzi?:D[/i] |
|
pekfos |
» 2014-06-11 19:41:13 int dodaj_macierze( int ** A_tablica, int ** B_tablica, int ** suma )
|
dodaj_macierze( suma, A_tablica, B_tablica );
|
*komentarz niewymagany..* |
|
Tym3k Temat założony przez niniejszego użytkownika |
» 2014-06-11 19:58:55 #include <iostream> #include <time.h> #include <cstdlib> using namespace std;
int const rozmiar = 4;
int wypelnij_macierzA( int ** tabA, int rozmiar, int min, int max ) { srand(( unsigned int ) time( 0 ) ); for( int i = 0; i < rozmiar; i++ ) { tabA[ i ] = new int[ rozmiar ]; for( int j = 0; j < rozmiar; j++ ) { tabA[ i ][ j ] = rand() %( max - min + 1 ) + max; cout << tabA[ i ][ j ] << " "; } cout << "\n"; } return ** tabA; }
int wypelnij_macierzB( int ** tabB, int rozmiar, int min2, int max2 ) { srand(( unsigned int ) time( 0 ) ); for( int i = 0; i < rozmiar; i++ ) { tabB[ i ] = new int[ rozmiar ]; for( int j = 0; j < rozmiar; j++ ) { tabB[ i ][ j ] = rand() %( max2 - min2 + 1 ) + max2; cout << tabB[ i ][ j ] << " "; } cout << "\n"; } return ** tabB; }
int dodaj_macierze( int ** suma, int ** A_tablica, int ** B_tablica, int rozmiar ) { for( int i = 0; i < rozmiar; i++ ) { suma[ i ] = new int[ rozmiar ]; for( int j = 0; j < rozmiar; j++ ) { suma[ i ][ j ] = A_tablica[ i ][ j ] + B_tablica[ i ][ j ]; cout << suma[ i ][ j ] << " "; } return ** suma; } }
int main() { int ** A_tablica; int max = 20; int min = 10; A_tablica = new int *[ rozmiar ]; wypelnij_macierzA( A_tablica, rozmiar, 10, 20 ); cout << endl; int ** B_tablica; int max2 = 10; int min2 = 5; B_tablica = new int *[ rozmiar ]; wypelnij_macierzA( B_tablica, rozmiar, 5, 10 ); cout << endl; int ** suma; suma = new int *[ rozmiar ]; dodaj_macierze( suma, A_tablica, B_tablica, rozmiar ); delete[] A_tablica; delete[] B_tablica; delete[] suma; system( "pause" ); }
Nie rozumiem jeszcze jednej rzeczy dlaczego w dodawaniu macierzy pokazuje mi tylko 4 wyniki dla 1 wiersza,a dla pozostałych już nie ...... Nie rozumiem tego, przecież są 2 pętle po 4 dla wierszy po 4 dla kolumny... |
|
pekfos |
» 2014-06-11 20:06:46 return? |
|
Tym3k Temat założony przez niniejszego użytkownika |
» 2014-06-11 20:09:14 Jak ja tego zauważyć nie mogłem to nie mam pojęcia, nerwicy od tego dostane, dzięki !:D |
|
« 1 » |