Sunteți pe pagina 1din 2

PRELUCRAREA A N NUMERE FOLOSIND VECTORI

Formarea unui nou vector, Formarea unui nou vector Inserarea/Stergerea unui Parcurgeri diverse
Operai de baz cu vectori
fara selectia elementelor prin selectia elementelor element de pe pozitia p
Citirea unui vector Minimul elementelor Formarea unui nou vector w Formarea unui nou vector Inserarea unui element x Afiarea elementelor care au numai cifre pare
cin>>n; vectorului(dupa citirea cu numrul de divizori pentru cu elementele care au suma pe pozitia p cin>>n;
for( i =1; i<=n ; i++) vectorului) fiecare component cifrelor un numr par for( i =1; i<=n ; i++)
cin>>v[i]; cin>>p>>x; { cin>> v[i];
cin>>n; cin>>n; k=0; aux= v[i];
Afiarea unui vector for( i =1; i<=n ; i++) for( i =1; i<=n ; i++) cin>>n; for(i=n;i>=p;i--) ki=0;//nr cifrelor impare
for( i =1; i<=n ; i++) cin>>v[i]; { cin>>v[i]; for( i =1;i<=n;i++) v[i+1]=v[i]; while (aux!=0)
cout<<v[i]; d=0; { cin>>v[i]; {if(aux%2 !=0)
mini=v[1]; for( j =2; j<=v[i]/2 ; j++) aux= v[i]; s=0; v[p]=x; ki++;
Prelucrarea elementelor for( i =1; i<=n ; i++) if (v[i]%j= =0) while (aux!=0) n++; aux=aux/10; }
separate de citire if(v[i]<mini) d++; {s=s+aux%10; if(ki==0)
mini=v[i]; w[i]=d;} aux=aux/10; } cout<< v[i];<< ;}
Suma elementelor cout<<mini; for( i =1; i<=n ; i++) if(s%2==0) Suma numerelor din vector, care sunt prime
vectorului cout<<w[i]<< ; w[++k]=v[i] ;} cu un numr k citit de la tastatur
s=0; Sa se afiseze maximul for( i =1; i<=k ; i++) s=0;
for( i =1; i<=n ; i++) elementelor din vector(o cout<<w[i]<< ; cin>>n>>k;
s=s+v[i]; data cu citirea elementului) for( i =1; i<=n ; i++)
cout<<s; { cin>> v[i];
cin>>n; maxi=-32000; a= v[i]; b=k;
Numarul elementelor for( i =1; i<=n ; i++) Stergerea unui element de while (a!=b)
pare ale vectorului {cin>>v[i]; Formarea unui nou vector w Formarea unui nou vector pe pozitia p {if(a>b)
if(v[i]>maxi) cu prima cifra a fiecarei cu elementele care sunt a=a-b;
k=0; maxi=v[i];} component prime cin>>p; else b=b-a; }
for( i =1; i<=n ; i++) cout<<maxi; Ex: pt. v(123,45,67,89) se if(a==1)
if(v[i]%2==0) obtine w(1,4,6,8) k=0; for(i=p;i<n;i++) s=s+ v[i];}
k++; Media aritmetica a cin>>n; v[i]=v[i+1]; cout<<s ;
cout<<k; componentelor pozitive (o cin>>n; for( i =1;i<=n;i++) Afiarea numarului de elemente din vectror
data cu citirea elementului) for( i =1; i<=n ; i++) { cin>>v[i]; n--; care au cea mai mare cifr un numr impar
Afisarea pozitiei { cin>>v[i]; d=0; cin>>n; k=0;
elementelor impare ale cin>>n; s=0; k=0; aux= v[i]; for( j =2; j<=v[i]/2 ; j++) for( i =a; i<=b ; i++)
vectorului for( i =1; i<=n ; i++) while (aux>9) if (v[i]%j= =0) { aux=v[i]; m=0;
{cin>>v[i]; { aux=aux/10; } d++; while (aux!=0)
s=0; if(v[i]>0) w[i]=aux;} if(d==0) { if(aux%10>m) m=aux/10;
for( i =1; i<=n ; i++) {s=s+v[i]; k++;}} for( i =1; i<=n ; i++) w[++k]=v[i] ;} aux=aux/10; }
if(v[i]%2!=0) cout<<s/k; cout<<w[i]<< ; for( i =1; i<=k ; i++) if(m%2==1) k++ ;}
cout<< i << ; cout<<w[i]<< ; cout<<k;

Generarea celei mai lungi secvene de elemente Interclasarea a doi vectori


Verificari asupra numerelor din vectror
consecutive care ndeplinesc o condiie
Sa se verifice daca toate Sa se verifice daca vectorul CMMDC a componentelor Cea mai lung secven de elemente prime, consecutive // elementele celor 2 vectori trebuie s fie ordonati
numerele din vector sunt contne numere prime vectorului cin>>n; crescator/ descrescator
pare for( i =1; i<=n ; i++)
cin>>n; s=0; cin>>v[i]; cin>>m>>n;
cin>>n; for( i =1; i<=n ; i++) cin>>n; lc=lmax=0; for(i=1;i<=m;i++)
for( i =1; i<=n ; i++) cin>>v[i]; for( i =1; i<=n ; i++) for( i =1; i<=n ; i++) { cout<<"a["<<i<<"]=";
cin>>v[i]; ok=0;//pp ca nu cin>>v[i]; { ok=1; cin>>a[i];}
ok=1;//pp ca toate elem for( i =1; i< =n ; i++) a=v[1]; for( j =2; j<= v[i]/2 ; j++) for(i=1;i<=n;i++)
//sunt pare { d=0; for( i =1; i<=n ; i++) if ( v[i]%j= =0) ok=0; { cout<<"b["<<i<<"]=";
//daca gasesc un numar for( j =2; j<=v[i]/2 ; j++) { b= v[i]; if(ok==1) cin>>b[i]; }
//impar in vector ce am if (v[i]%j= =0) while (a!=b) lc++; //Interclasarea
//presupus nu este d++; if(a>b) else { if(lc>lmax){ lmax=lc; pmax=i;} i=1; j=1;k=0;
//adevarat if(d==0) a=a-b; lc=1;} while((i<=m)&&(j<=n))
for( i =1; i<=n ; i++) { ok=1; else b=b-a; } {if(a[i]<b[j])
if(v[i]%2!=0) break;} } if(lc>lmax) {lmax=lc;} {k++;c[k]=a[i]; // adaug la sirul c un
{ ok=0; } cout<<a ; //n cazul cnd ultimul element din ir face parte din cea mai element din a
break;} if(ok==0) lung secven de elemente ce ndeplinesc condiia cerut i++;// m deplasez mai departe n vectorul din
if(ok==1) cout<<DA; for( i =pmax-lmax+1; i<=pmax ; i++) care am ales elementul }
cout<<DA; else cout<<v[i]<< ; else
else cout<<NU; if(a[i]==b[j]){k++; c[k]=a[i]; // adaug la sirul
cout<<NU; c un element din a
Ordonarea cresctoare a unui Cte elemente conine cea mai lung secven de elemente i++; j++;}
Sa se verifice daca vector cresctoare consecutive else {k++; c[k]=b[j];j++;}}
elementele vectorului sunt cin>>n; // Adaugam elementele ramase neparcurse din
ordonate crescator for(i=1; i<n; i++) lc=1; lmax=0; vectorul care nu s-a terminat
for(j=i+1; j<=n; j++) for( i =1; i<n ; i++) while(i<=m)//cat timp nu s-a terminat din primul
cin>>n; if(a[i]>a[j]) { if(v[i]<v[i+1]) vector
for( i =1; i<=n ; i++) {aux= a[i]; lc++; {k++; c[k]=a[i]; // copiez la sfarsitul sirului c
cin>>v[i]; a[i]= a[j]; else {if(lc>lmax) lmax=lc; elementele ramase din a
ok=1;//pp ca da a[j]=aux;} lc=1;} i++; }
for( i =1; i< n ; i++) } while(j<=n) //cat timp nu s-a terminat al doilea
if(v[i]<v[i+1]) if(lc>lmax) {lmax=lc;} vector
{ ok=0; cout<<lmax; { k++; c[k]=b[j]; // copiez la sfarsitul sirului c
break;} elementele ramase din b
if(ok==1) j++;}
cout<<DA; //Afisez vectorul interclasat
else for(i=1;i<=k;i++) // sirul c are lungimea k nu
cout<<NU; ntotdeauna m+n elemente
cout<<c[i]<<" ";}

S-ar putea să vă placă și