27/12/09 15:46
Puffetta
Ciao a tutti, volevo chiedere un aiuto per quanto riguarda questo codice. La traccia dell'esercizio è questa:
Cos'è che non va in questo codice? ho capito che il problema è nella funzione di stampa ma non riesco a capire come risolvere... C'è qualcuno che mi potrebbe aiutare?
grazie mille
/*Dati due vettori x e y ad n componenti, diremo che x > y se risulta essere xi>yi per ogni i= 1; 2;...; n, e analogamente diremo che x<y se risulta essere xi<yi per ogni i=1;2;...;n. Scrivere un programma C++ che acquisisce da tastiera un intero positivo n, due vettori x ed y ad n componenti e successivamente stabilisce se x > y, se x < y, se x = y o se non vale nessuna delle precedenti condizioni.*/ #include<stdio.h> #include<stdlib.h> const int size=50; typedef int vettore[size]; int leggidimensione(); void leggivettore(vettore, int); bool controllovettore(vettore, vettore, int, int, int, int); void stampa(int, int, int); main() { int n, p, q, r; vettore x, y; n=leggidimensione(); printf("\n\n Il vettore x ha le seguenti componenti:"); leggivettore(x, n); printf("\n\n Il vettore y ha le seguenti componenti"); leggivettore(y, n); controllovettore(x, y, n, p, q, r); stampa(p, q, r); system("PAUSE"); return 0; } int leggidimensione() { int a; do { printf("\n\n Quante componenti hanno i vettori x e y? n="); scanf("%d", &a); } while(a>size); return a; } void leggivettore(vettore A, int n) { for(int i=1; i<=n; i++) { printf("\n Inserire la componente %d del vettore:", i); scanf("%d", &A[i]); } return; } bool controllovettore(vettore x, vettore y, int n, int p, int q, int r) { for(int i=1; i<=n; i++) { if(x[i]<y[i]) return(p==1); else if(x[i]>y[i]) return(q==1); else if(x[i]==y[i]) return(r==1); } } void stampa(int p, int q, int r) { if(p==1) printf("\n\n Il vettore x e' minore del vettore y\n\n"); else if(q==1) printf("\n\n Il vettore x e' maggiore del vettore y\n\n"); else if(r==1) printf("\n\n I vettori x e y sono uguali\n\n"); return; }
Cos'è che non va in questo codice? ho capito che il problema è nella funzione di stampa ma non riesco a capire come risolvere... C'è qualcuno che mi potrebbe aiutare?
grazie mille
aaa