Se dă un șir P de lungime N cu elemente distincte din mulțimea {1,2..,N}. Pentru fiecare poziție i din șirul P se cere să aflați cea mai mică poziție j, astfel încât P[j] < P[i] și j < i. În caz că o astfel de poziție nu există se consideră -1 ca soluție.
Răspunsuri la întrebare
Răspuns de
4
#include <iostream>
using namespace std;
int main()
{
int N;
cin>>N;
cout<<endl;
int P[N];
for(int i=1;i<=N;i++)
{
cin>>P[i];
}
cout<<endl;
for(int i=N;i>=1;i--)
{
for(int j=1;j<=N;j++)
{
if(P[j] < P[i] && j<i)
{
P[i]= j;
break;
}
else if(j == i)
{
P[i]=-1;
break;
}
}
}
for(int i=1; i<=N;i++)
{
cout<<P[i]<<" ";
}
}
using namespace std;
int main()
{
int N;
cin>>N;
cout<<endl;
int P[N];
for(int i=1;i<=N;i++)
{
cin>>P[i];
}
cout<<endl;
for(int i=N;i>=1;i--)
{
for(int j=1;j<=N;j++)
{
if(P[j] < P[i] && j<i)
{
P[i]= j;
break;
}
else if(j == i)
{
P[i]=-1;
break;
}
}
}
for(int i=1; i<=N;i++)
{
cout<<P[i]<<" ";
}
}
Anexe:
Rayzen:
Deci, consideri ca raspunsul meu e praf nu?
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Informatică,
9 ani în urmă