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

    [C++]Errore esecuzione stampa matrice con puntatori per la dimensione

    ragazzi ho un problema.il programma seguente dovrebbe leggere e stampare una matrice di dimensioni scelte dal'utente tipo 2x3.il programma viene compilato senza errori il problema è che quando stampa la matrice se inserisco tipo
    1 2 3
    4 5 6

    mi stampa

    4 5 6
    4 5 6

    ho controllato ma mi sembra tutto a posto qualcuno può aiutarmi?

    codice:
    #include <iostream>
    using namespace std;
    
    
    int main() {
    	int i,j;
    	int M[i][j];
    	int *p,*q;
    	
    	p=&i;
    	q=&j;
    	
    	cout<<"Inserisci numero di righe"<<endl;
    	cin>>*p;
    	cout<<"Inserisci numero di colonne"<<endl;
    	cin>>*q;
    	
    	cout<<"La matrice ha dimensione "<<i<<" x " <<j<<endl;
    	
    	cout<<"Inserisci la matrice"<<endl;
    	for(int r=0;r<i;r++)
    	{for(int c=0;c<j;c++)
    	cin>>M[r][c];
    	}
    	
    	cout<<"La matrice da te inserita è"<<endl;
    		for(int r=0;r<i;r++)
    	{for(int c=0;c<j;c++)
    	cout<<M[r][c]<<" ";
    	cout<<endl;
    	}
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Questo modo di allocare l'array è sbaglaito

    int i,j;
    int M[i][j];

    All'inizio del programma, prima di chiedere in input i e j, non sai quanto valgono e l'array non ha dimensioni certe.

    Inoltre non capisco perché tutto quel giro con i puntatori p e q ... non puoi semplicemente utilizzare i e j ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Questo modo di allocare l'array è sbaglaito

    int i,j;
    int M[i][j];

    All'inizio del programma, prima di chiedere in input i e j, non sai quanto valgono e l'array non ha dimensioni certe.

    Inoltre non capisco perché tutto quel giro con i puntatori p e q ... non puoi semplicemente utilizzare i e j ?
    in pratica vorrei fare una matrice dove io inserisco il numero di righe e colonne.
    ho studiato i puntatori e volevo vede se avevo capito

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Confermo quello che ti ho scritto ... hai compreso l'errore?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Confermo quello che ti ho scritto ... hai compreso l'errore?
    si ho capito ma come dovrei fare?

  6. #6
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Confermo quello che ti ho scritto ... hai compreso l'errore?
    cioè dovrei definire una dimensione massima da quanto ho capito.non posso definirla io al momento dell'esecuzione e quindi allocare il numero giusto di bit?

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Puoi usare l'allocazione dinamica della memoria (malloc)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Puoi usare l'allocazione dinamica della memoria (malloc)
    e non l'ho ancora studiata.per caso ha a che fare con i puntatori?ma malloc non è del c?

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Sì ... oppure la new per il C++
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.