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
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.
{
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
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă