13/09/16 9:07
LukasD
Salve a tutti. Ho un dubbio riguardante una funzione che ho creato e che dovrebbe restituirmi un valore, ma evidentemente non ho capito come fare. Ora inserisco il codice in modo che sia tutto più chiaro.
In pratica questo programma legge un vettore inserito dall'utente. Se ha numeri dispari o uguali a 0 continua se ha almeno un numero pari si ferma. Solo che nella funzione di chack_v non mi ritorna il valore del contatore che poi utilizzerò nel main per far andare avanti o fermare il programma.
#include <stdio.h> #include <stdlib.h> #define max 30 void leggi_v (int v1[], int *dim) { int i; printf ("Inserire gli elementi del vettore: \n\n"); for (i=0; i<*dim; i++) { printf ("Elemento %d: ", i+1); scanf ("%d", &v1[i]); } } void stampa_v (int v1[], int dim) { int i; printf ("Il vettore sara' composto dai seguenti elementi \n"); for (i=0; i<dim; i++) printf ("Elemento n.%d: %d\n", i+1, v1[i]); } int check_v (int v1[], int dim) { int i; int contatore = 0; for (i=0; i<dim; i++) { if ((v1[i]%2) == 1 || v1[i] == 0) { contatore++; } } return (contatore); // non ritorna il valore del contatore poichè con un printf nel main ho notato che il contatore me lo da =0. } typedef int vet1[max]; int main(){ vet1 v1; int dim; int i, contatore; printf ("Inserire il numero di elementi del vettore: "); scanf ("%d", &dim); leggi_v (v1, &dim); stampa_v (v1, dim); check_v (v1, dim); if (contatore == dim) { printf ("Apposto"); } if (contatore < dim) { printf ("Il vettore non contiene solo numeri dispari o pari a 0\n"); return (0); } }
In pratica questo programma legge un vettore inserito dall'utente. Se ha numeri dispari o uguali a 0 continua se ha almeno un numero pari si ferma. Solo che nella funzione di chack_v non mi ritorna il valore del contatore che poi utilizzerò nel main per far andare avanti o fermare il programma.
aaa