salve a tutti,
mi sono appena registrato e la mia intenzione è quella di imparare sempre più cose sul mondo della programmazione... e ho subito visto di buon occhio questo forum ;D
ho aperto questo topic perchè in questo momento sto esercitandomi un pò con il c++ (senza oggetti come ci è stato proposto all'università...) e venendo dal c (non mi definisco assolutamente un esperto per farvi capire sono arrivato ai puntatori e a qualcosa sui dati strutturati) sono un pò confuso sulle nuove funzioni d usare. l'esercizio che stavo svolgendo chiede di creare una matrice NxN leggendola da tastiera per poi creare una funzione ricorsiva che restituisca 1 se ci sono elementi nulli nella diagonale principale della matrice; 0 altrimenti. credo di aver impostato bene il problema (o almeno lo spero) ma chiaramente ci sono errori in codeblocks che non riesco a decifrare e, nonostante abbia riletto il codice più volte, non sono capace di trovare gli errori:
mi piacerebbe ricevere se possibile un aiuto. grazie mille a tutti!codice:#include <iostream> int diagonale_nulla (int A, int n); using namespace std; int main () { // dichiarazione e lettura matrice cout << "inserire grandezza matrice NxN" << endl << "N=?" << endl; int n; cin >> n; int A[n][n]; int i, j; cout << "inserire elementi matrice NxN" << endl; for (i=0; i==n-1; i++) { for (j=0; j==n-1; j++) { cin >> A[i][j]; } } // verifica elementi nulli in diagonale principale e stampa del risultato if (diagonale_nulla (A, n)==0) then { cout << "NON CI SONO elementi nulli nella diagonale principale della tua matrice" << endl; } else { cout << "CI SONO elementi nulli nella diagonale principale della tua matrice" << endl; } // stampa diagonale tua per verifica cout << "la diagonale messa e'" << endl; for (i=0; i==n-1; i++) { for (j=0; j==n-1; j++) { cout << A[i][j]; } cout << endl; } return 0; } // funzione ricorsiva usata nel main int diagonale_nulla (int A, int n) { if (n>=0) then { if (A[n][n]==0) then { return 1; } else { diagonale_nulla (A, n-1); } else { return 0; } } }
PS: al di là dell'università che ha una struttura "tradizionale" degli argomenti trattati mi consigliate di studiare per bene il c o c++? non sono il tipo che chiede le differenze perchè su internet si trova ovviamente la risposta a questa domanda ma vorrei piuttosto un consiglio perchè mi ritrovo adesso sapendo un pò di c studiato "solamente" per passare e comprendere meglio il c++ (di cui non trattiamo gli "oggetti" durante il corso).
spero di non aver chiesto troppo e soprattutto di non aver infranto limiti del regolamento. mi scuso per l'eventualità.

Rispondi quotando
Il linguaggio di riferimento va sempre specificato nel titolo, sotto forma di "tag"; inoltre, il titolo dovrebbe contenere una descrizione un po' più significativa del problema.

