[C++]inserimento ordinato di+elementi in vettore ordinato
ciao a tutti..
ho creato questo programma che mi permette dato un vettore ordinato,di inserire un elemento collocandolo nella posizione giusta..
potete darmi un suggerimento?
come dovrei modificare il programma per poter aggiungere più di un elemento?è possibile farlo?
ho pensato di far diventare x un vettore,ma oltre a quello non riesco a capire cosa dovrei modificare nelle mie funzioni..
ho creato questo programma che mi permette dato un vettore ordinato,di inserire un elemento collocandolo nella posizione giusta..
#include <iostream> #include<cstdlib> using namespace std; #define N 20 typedef int vettore[N]; vettore v; void inserimento(vettore, int&); int cerca_posizione(vettore,int&,int&); void crea_spazio(vettore,int&,int&); void inserimento(vettore v, int&num_elem){ cout<<"\n quanti elementi vuoi inserire?"; cin>>num_elem; int i; for(i=0;i<num_elem;i++){ cout<<"\n inserisci l'elemento" <<i+1<< "del vettore "; cin>>v[i]; } cout<<"\ il vettore v e' uguale a ["; for(i=0;i<num_elem;i++){ cout<<v[i]; } cout<<"]"; } int cerca_posizione(vettore v, int&num_elem, int&x){ int i=0; while(i<num_elem && v[i]<=x) i++; return(i); } void crea_spazio(vettore v, int&num_elem, int&pos){ for (int i=num_elem-1;i>=pos;i--) v[i+1]=v[i]; } int main(){ vettore v; int num_elem; int x; int i; inserimento(v,num_elem); cout<<"\n inserisci un nuovo elemento "; cin>>x; int index=cerca_posizione(v,num_elem,x); crea_spazio(v, num_elem, index); v[index]=x; num_elem++; cout<<"\ il vettore v e' uguale a ["; for(i=0;i<num_elem;i++){ cout<<v[i]; } cout<<"]"; system("pause"); }
potete darmi un suggerimento?
come dovrei modificare il programma per poter aggiungere più di un elemento?è possibile farlo?
ho pensato di far diventare x un vettore,ma oltre a quello non riesco a capire cosa dovrei modificare nelle mie funzioni..
Risposte
alla fine ci sono riuscita..
grazie comunque..
grazie comunque..