Ci ho provato ma non funge.Originariamente inviato da Celebron
non capisco perchè assegni a vet i valori di vetm e vetmin
scusa non dovresti fare l'esatto contrario?
Ho modificato il nome dei due vettori da creare "a" e "b" (piu semplice non potevo xD).codice:#include <cstdlib> #include <iostream> #include <math.h> #define max 100 using namespace std; int main(int argc, char *argv[]) { int vet[max],i,a[max],m=0,b[max],min=0,n,k; cout<<"Inserisci il valore da assegnare a K"<<endl; cin>>k; do{ cout<<"Inserisci la dimensione del vettore."<<endl; cin>>n; } while (n<1 || n>100); for (i=0;i<n;i++) { cout<<"Inserisci il numero da inserire nel vettore"<<endl; cin>>vet[i]; } for (i=0;i<n;i++) { if (vet[i]>=k) { a[m]=vet[i]; m++; } else { b[min]=vet[i]; min++; } } cout<<"I valori maggiori uguali a K sono "<<a[m]<<endl; cout<<"Mentre quelli minori sono "<<b[min]<<endl; system("PAUSE"); return EXIT_SUCCESS; }
Cioè io ho pensato nel secondo for di controllare se l' elemento dell' indice di vet fosse >= di k se cosi fosse assegno quel determinato indice all' indice di a e dopo incrementarlo, e viceversa (else).
Il problema sta che nei risultati finali viene una cosa del tipo :
I valori maggiori uguali a K sono 878784459
Mentre quelli minori sono 87875454

Rispondi quotando