ciao ragazzi, è da poco che studio per fondamenti di informatica e ho riscontrato un errore che non riesco a risolvere pur sapendo che si tratta di una cosa banale. in poche parole le funzioni (che ho scritto in una libreira .h) di somma e media non mi danno il giusto risultato. via allego il codice qui sotto e grazie in anticipo!
main:
codice:#include <cstdlib> #include <iostream> #include <stdio.h> #include "newfile.h" using namespace std; /* * */ extern const int maxr=10; extern const int maxc=10; int main() { const int nmax=10; int numeri [nmax]; int matr[maxr][maxc]; int r,c,rie; do { cout<<"quanti valori vuoi immettere?\n"; cin>>rie; }while(rie>nmax); inserisci_vet(numeri,rie); stampa_vet (numeri,rie); cout<<"la media totale del vettore e': "<<media (numeri,rie)<<endl; cout<<"la somma totale del vettore e': "<<somma (numeri,rie)<<endl; inserisci_righecolonne(r,c); inserisci_matrice(matr,r,c); stampa_matrice (matr,r,c); system ("pause"); return 0; }
funzioni:
codice:#include <cstdlib> #include <iostream> #include <stdio.h> using namespace std; extern const int maxr; extern const int maxc; void inserisci_vet (int array [],int riempimento) { cout<<"inserisci i tuoi numeri\n"; for (int i=0;i<riempimento;i++) { cout<<"v["<<i<<"]"<<": "; cin>>array[i]; } } void stampa_vet (int array [], int riempimento) { cout<<"i numeri contenuti nell'array attualmente sono:\n"; for (int i=0;i<riempimento;i++) { cout<<"v["<<i<<"]"<<": "<<array[i]<<endl; } } float media (int array[],int riempimento) { int s=0; for (int i=0;i<=riempimento;i++) { s+=array[i]; } float m=s/riempimento; return m; } int somma (int array[],int riempimento) { int s=0; for (int i=0;i<=riempimento;i++) { s+=array[i]; } return s; } void inserisci_righecolonne(int &r, int &c) { cout<<"inserisci il numero di righe:\n"; cin>>r; cout<<"inserisci il numero di colonne:\n"; cin>>c; } void inserisci_matrice(int matrice[][10],int righe,int colonne) { cout<< "Inserisci i valori della matrice: " << endl; for (int i=0; i<righe; i++) { cout<<"Riga numero " << i+1 << ":" << endl; for (int j=0; j<colonne; j++) { cout<<"matr["<<i<<"]["<<j<<"]: "; cin >>matrice[i][j]; } } } void stampa_matrice (int matrice[][10],int righe,int colonne) { cout<< "la matrice da te inserita e': " << endl; for (int i=0; i<righe; i++) { cout<<endl; for (int j=0; j<colonne; j++) { cout<<matrice[i][j]<<endl; } } }

Rispondi quotando