Przekroczony limit pamięci - sygnał 6 (przy działaniu na dynamicznych tablicach)
Ostatnio zmodyfikowano 2010-11-24 18:48
ison |
» 2010-11-24 17:01:49 Na przykład podać wejście, bo obecnie program bierze wartości z sufitu?
|
jesteś pewien? |
|
Tiestes Temat założony przez niniejszego użytkownika |
» 2010-11-24 17:05:36 Wartości są wprowadzane przez użytkownika w konsoli...
Chciałem żeby alokacja pamięci dla tablicy następowała po kompilacji, a nie jak dla tablic statycznych przed kompilacją.
Żeby użytkownik w trakcie wykonywania programu zdefiniował jaką pojemność pamięci mam zarezerwować program. Dlatego skorzystałem z dynamicznej tablicy dwuwymiarowej.
Dobry mam w ogóle tok myślenia, czy cały czas czegoś nie rozumiem?
Jak odpalam program w dev c++ to działa i jest ok. Ale przy kompilacji w ideone, coś się sypie. To mi nie daje spokoju...
Poniżej zamieszczam cały kod.
#include <iostream> #include <conio.h>
using namespace std;
int main() { short int m, n; cin >> m >> n; int ** tab; tab = new int *[ m ]; for( int j = 0; j < m; j++ ) tab[ j ] = new int[ n ]; for( int k = 0; k < m; k++ ) { for( int i = 0; i < n; i++ ) cin >> tab[ k ][ i ]; } for( int j = 0; j < n; j++ ) { for( int i = 0; i < m; i++ ) cout << tab[ i ][ j ] << " "; cout << endl; } for( int j = 0; j < m; j++ ) delete[] tab[ j ]; delete[] tab; getch(); return 0; } |
|
ison |
» 2010-11-24 17:10:21 Dobry mam w ogóle tok myślenia, czy cały czas czegoś nie rozumiem?
|
dobry cout << tab[ i ][ j ] << " ";
odwrotnie i,j kod zamieszczaj w [cpp]kod[/cpp] |
|
Elaine |
» 2010-11-24 17:13:24 |
|
Tiestes Temat założony przez niniejszego użytkownika |
» 2010-11-24 17:14:20 j, i są specjalnie zamienione miejscami, ponieważ program ma transponować macierz. Więc jego wymiary m x n zmienią się na n x m. Ok, dzięki za podpowiedź z kod . |
|
Tiestes Temat założony przez niniejszego użytkownika |
» 2010-11-24 17:16:16 Więc on w ogóle nie korzysta z tego cin? ten strumień w tym przypadku nie wprowadza żadnej wartości do zmiennej? |
|
DejaVu |
» 2010-11-24 17:16:31 Nie wiem czy czytałeś log kompilacji, ale:
prog.cpp:2:19: error: conio.h: No such file or directory
prog.cpp: In function ‘int main()’:
prog.cpp:33: error: ‘getch’ was not declared in this scope
/edit:
Poza tym używając tamtej strony nie możesz wprowadzić standardowego wejścia, więc rozmiar alokowanych tablic jest nieprzewidywalny. |
|
Elaine |
» 2010-11-24 17:17:32 Ależ wprowadza... a ściślej wprowadzałby, gdyby miał co, bo żadnego wejścia nie podałeś.
Poza tym używając tamtej strony nie możesz wprowadzić standardowego wejścia |
Sprawdzałeś chociaż? ;> Tak się dziwnie składa, że można ;> |
|
1 « 2 » 3 |