Se citeste un vector A cu n (n<=100) elemente numere naturale.
Ordonati crescator elementele prime si plasati-le la inceputul vectorului si apoi descrescator pe cele neprime, in a doua parte a vectorului. Afisati vectorul ordonat ca in cerinta. */ #include <stdio.h> int main() { int i,j,k,naux,ndiv,nx,aux,n; int v[100],prim[100],nonprim[100]; //introducere marime VECTOR printf("\nIntroduceti marimea vectorului dorit (pana la 100 de elemente)\n"); scanf("%d",&n); printf("\nVectorul dorit are marimea:%d\n",n); //introducere elemente VECTOR for(i=1;i<=n;i++) { printf("\nIntroduceti v[%d]: ",i); scanf("%d",&v[i]); printf("\nAti introdus v[%d]=%d\n",i,v[i]); } //afisare elemente VECTOR printf("\nVectorul introdus este urmatorul:\n"); for(i=1;i<=n;i++) { printf("[%d]",v[i]); } //verificare elemente prime/nonprime si plasare in vectori auxiliari j=1; k=1; for(i=1;i<=n;i++) { ndiv=0; for(naux=1;naux<=v[i]/2;naux++) { if (v[i]%naux==0) ndiv++; } if (ndiv==1) { prim[j]=v[i]; j++; printf("\n%d este prim\n",v[i]); } else { nonprim[k]=v[i]; k++; } } //sortare crescatoare vector numere prime nx=0; while (nx==0) { nx=1; for(i=1;i<j;i++) { if (prim[i]>prim[i+1]) { aux=prim[i]; prim[i]=prim[i+1]; prim[i+1]=aux; nx=0; } } } //afisare vector numere prime printf("\nVectorul sortat de numere prime este urmatorul:\n"); for(i=1;i<j;i++) { printf("[%d]",prim[i]); } //sortare descrescatoare vector numere nonprime nx=0; while (nx==0) { nx=1; for(i=1;i<k;i++) { if (nonprim[i]<nonprim[i+1]) { aux=nonprim[i]; nonprim[i]=nonprim[i+1]; nonprim[i+1]=aux; nx=0; } } } //afisare vector numere nonprime printf("\nVectorul sortat de numere nonprime este urmatorul:\n"); for(i=1;i<k;i++) { printf("[%d]",nonprim[i]); } //reintegrare elemente in vector initial for (i=1;i<j;i++) { v[i]=prim[i]; } for(i=j;i<=n;i++) { v[i]=nonprim[i-j+1]; } //afisare elemente VECTOR sortat printf("\nVectorul sortat este urmatorul:\n"); for(i=1;i<=n;i++) { printf("[%d]",v[i]); } return 0; }