PDA

Visualizza la versione completa : Esercizio funzioni c++?


Negan
12-05-2017, 16:54
Salve, mi correggete questo esercizio? In pratica bisogna inserire una matrice quadrata, e creare due funzioni, una che ritorni la somma dei numeri primi, un'altra che ritorni la somma della diagonale principale e secondaria,
https://pastebin.com/drragNMF

scimmiaparlante
13-05-2017, 19:29
Dando un rapido sguardo, direi che questo programma già non può compilare:
1)per passare una matrice ad una funzione bisogna specificare il numero di colonne.

int primi(int mat[][5],int dim1,int dim2)


2)Devi vedere se è primo, non divisibile per 2

if(mat[i][j]%c==0)
{
cout<<"No primo"<<endl;
break;
}


3)Inizializzare un riferimento con una costante non ha molto senso

int diagonali(int mat[][5],int dim1,int dim2, int& sdp=0)



int diagonali(int mat[][5],int dim1,int dim2, int& sdp)
{
sdp=0;
//...

Negan
13-05-2017, 19:35
Ciao, grazie della risposta! Ho aggiornato il codice, ma lo stesso mi da problemi nell'inserire gli elementi della matrice https://pastebin.com/7ng89sGM

scimmiaparlante
13-05-2017, 21:21
Guarda la chiusura del primo for nel main

Negan
13-05-2017, 21:26
Cavolo è vero! Il problema è che ora mi fa inserire la matrice, ma poi si blocca una volta inseriti tutti gli elementi. Non mi calcola nulla

scimmiaparlante
13-05-2017, 21:32
Le condizioni...
sono entrambe sulla i


for(int i=0;i<dim1;i++)
{
for(int j=0;i<dim2;j++)
{
if(i==j)
{
sdp=sdp+mat[i][j];
}
}
}

Negan
13-05-2017, 21:35
Grazie mille funziona!

Loading