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

    [C++] "Eccezione non gestita..." aiuto vi prego!!!

    ciao raga non capiso perchè Visual C++ 2010 non mi compili questo codice! si tratta di un programmino per fare la trasposta di una matrice, mi da questo errore:

    "Eccezione non gestita a 0x7c91e8e5 in dddddsss.exe: 0xC0000005: Violazione di accesso nella scrittura del percorso 0x00030ff8."

    e mi si apre questa scheda


    sapreste mica aiutarmi per favore?? grazie mille




    codice:
    #include <iostream>
    using namespace std;
    const int D=10;
    void trasposta (int gesu[][D],int z);
    int main()
    {
    	int matrice[D][D];
    	int a;
    	cout<<"ciao quanti valori vuoi che abbia la matrice?"<<endl;
    	cin>>a;
    
    	for(int i=0;i<a;i++)
    	{
    		cout<<"inserisci la riga numero "<<i+1<<endl;
    		for(int j=0;j<a;j++)
    		{
    			cout<<"inserisci l'elemento "<<j+1<< "della riga "<<i+1<<endl;
    		cin>> matrice[i][j];
    		}
    	}
    	cout<<"la tua matrice è "<<endl;
    
    	for(int i=0;i<a;i++)
    	{
    		for(int j=0; j<a;j++)
    		{ 
    			cout<<matrice[i][j];
    		}
    		cout<<endl;
    	}
    	 trasposta (matrice, a);
    	cout<<"la trasposta è questa"<<endl;
    	for(int i=0;i<a;i++){
    		for(int j=0;j<a;j++)
    		{ cout<<matrice [i][j];
    		}cout<<endl;}
    	system("pause");
    	return 0;
    }
    
    void trasposta(int gesu[][10], int z)
    {
    	int temp;
    	for(int i=0;i<z;i++)
    	{
    		for (int j=0; j<z;j++)
    	{
    		temp= gesu[i][j];
    		gesu [i][j]=gesu[j][i];
    		gesu[j][i]=temp;
    		}
    	}
    	return;
    }
    anticiclone termico russo-siberiano vogliamo te

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    L'errore non è in compilazione (infatti il codice viene correttamente compilato) ma in esecuzione.

    E la causa è nella riga

    for(int i=0;i<z; z++)


    P.S. Evita "aiuto" e simili nel titolo ..
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    grazie mille, ho modificato ma non va comunque...


    cmq ok per il titolo la prossima volta scrivo diversamente
    anticiclone termico russo-siberiano vogliamo te

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Hai modificato .. come ? Cosa non va ? Hai ricompilato ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    ho riavviato visual c++ e ora va, forse avevo ricompilato senza terminare il debug... comunque ho risolto! grazie mille mi era proprio sfiggito

    se posso approfittarne... perchè quando voglio dichiarare una matrice nella parentesi della funzione posso non mettere niente tra la prima parentesi quadra ma nella seconda invece devo mettere la dimensione mentre se fosse monodimensionale invece posso non metterla?

    cioè perchè posso scrivere
    così: int funzione (int a[][10])
    così: int funzione (int a[])

    ma non così: int funzione(int a[][]) ?

    anticiclone termico russo-siberiano vogliamo te

  6. #6
    Originariamente inviato da BigSwell
    se posso approfittarne...
    Un thread = un argomento (=>apri un thread a parte per questa nuova domanda).
    Amaro C++, il gusto pieno dell'undefined behavior.

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.