Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C++] Riempire una matrice di interi

    Sto provando a riempire una matrice di interi con degli 0 ma il programma va in crash. Qualcuno può darmi una dritta?
    Vi scrivo giusto la parte di codice "incriminato",penso che basti.

    #define maxdim 100

    {
    int **matrice;
    matrice=new int *[maxdim];
    for (int i=1;i<=maxdim;i++)
    {
    for (int j=1;j<maxdim;j++)
    {
    matrice[i][j]=0;
    }
    }
    }

  2. #2
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510

    Re: [C++] Riempire una matrice di interi

    Allochi spazio per maxdim puntatori, ma ogni puntatore punta ad un' area di memoria non allocata.Per cui devi allocare anche lo spazio per contenere maxdim interi:

    codice:
    for(int i=0; i<maxdim;i++)
        matrice[i]=new int[maxdim];

  3. #3
    Ah ok..ho corretto così:


    int **matrice;
    matrice=new int *[maxdim];
    for (int x=1;x<=maxdim;x++)
    matrice[x]=new int;

    for (int i=1;i<=maxdim;i++)
    {
    for (int j=1;j<maxdim;j++)
    matrice[i][j]=0;
    }

    Ma purtroppo continua a "crashare"

  4. #4
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    Hai scritto matrice[x]=new int invece di matrice[x]=new int[maxdim], stai allocando un intero per ogni puntatore e non maxdim interi.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E le for devono essere da 0 a maxdim-1 quindi

    for(x=0; x<maxdim; x++)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Originariamente inviato da Who am I
    Hai scritto matrice[x]=new int invece di matrice[x]=new int[maxdim], stai allocando un intero per ogni puntatore e non maxdim interi.
    Grazie mille,ora va!

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da lacchiappasogni
    Grazie mille,ora va!
    Attenzione alle for altrimenti non va!
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.