
Originariamente inviata da
oregon
Le variabili sono locali. La dim della funzione check NON E' quella usata nella funzione di inserimento.
Devi passare anche il valore di dim tra le chiamate.
Il programma l'ho finito e non so perchè funziona tutto bene... hahahahha
Ecco qui il codice:
codice:
#include <stdio.h>#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void leggi_v (int v1[], int v2[], int dim) {
int i;
printf("Inserisci il numero di elementi dei vettori: ");
scanf("%d", &dim);
printf("Inserisci gli elementi del vettore 1:\n");
for (i=0; i<dim; i++) {
printf("Elemento %d: ",i+1);
scanf("%d", &v1[i]);
}
printf("Inserisci gli elementi del vettore 2:\n");
for (i=0; i<dim; i++) {
printf("Elemento %d: ",i+1);
scanf("%d", &v2[i]);
}
}
void stampa_v (int v1[], int dim) {
int i;
printf ("Il mio vettore sara' composto dai seguenti numeri \n");
for (i=0; i<dim; i++) {
printf ("Elemento n.%d: %d\n", i+1, v1[i]);
}
}
void stampa_v_diff (int v3[], int dim) {
int i;
printf ("Il mio vettore differenza sara' composto dai seguenti numeri \n");
for (i=0; i<dim; i++) {
printf ("Elemento n.%d: %d\n", i+1, v3[i]);
}
}
void check_v (int v1[], int v2[], int dim) {
int vero = false;
int i=0;
for (i=0; i<dim; i++) {
if (v1[i] > v2[i])
vero = true;
else
vero = false;
}
if (vero)
printf("Gli elementi del vettore1 sono maggiori degli elementi del vettore2\n\n\n");
else
printf("Gli elementi del vettore1 sono minori degli elementi del vettore2\n\n\n");
}
void calcola_diff (int v1[], int v2[], int v3[]) {
int i;
for (i=0; i<10; i++) {
v3[i] = v1[i]-v2[i];
}
}
int main() {
int v1[5];
int v2[5];
int v3[5];
leggi_v (v1,v2,5);
stampa_v (v1,5);
stampa_v (v2,5);
check_v (v1,v2,5);
calcola_diff (v1,v2,v3);
stampa_v_diff (v3,5);
}
Solo una cosa non mi trovo... la dimensione.
Non ho ben capito cosa intendi. In tutti i sotto programmi devo richiamare la dim?
Infatti la dim del main potrebbe essere diversa da quella inserita dall'utente. Ma per chiamare i vettori nel main devo comunque darli una dimensione... non so se mi sono ben spiegato.
Per esempio nel main ho detto che i vettori hanno dim 5. Se io inserisco dim 10 nel programma leggi_v non mi trovo...
Come posso risolvere?