Informatică, întrebare adresată de Mimilici, 9 ani în urmă

URGENT!
Se dau n numere naturale nenule. Ordonați descrescător cele n numere după numărul lor de divizori.

Răspunsuri la întrebare

Răspuns de EmanuelIM
11
int main()
{
int n,i,nrd1,nrd2,ok,j,p;
cin>>n;
int v[n+1];
for(i=1;i<=n;i++) cin>>v[i];
do
{
ok=0;
for(i=1;i<=n-1;i++)
{nrd1=nrd2=1;
for(j=1;i<=v[i]/2;i++) if (v[i]%j==0) nrd1++;
for(p=1;p<=v[i+1]/2;i++) if(v[i+1]%p==0) nrd2++;
if (nrd1<nrd2)
{v[0]=v[i];
v[i]=v[i+1];
v[i+1]=v[0];
ok=1;
}
}
}
while(ok==1);
for(i=1;i<=n;i++) cout<<v[i]<<',';
return 0;
}

Sper ca te-am ajutat.

EmanuelIM: Am uitat la int sa mai declar variabilele ok,j si p.
Alte întrebări interesante