Buonasera. Stavo provando a sottoporre per la prima volta qualche algoritmo e anche se sul compilatore funzionano la sottoposizione dice o che i risultati sono tutti sbagliati o come in questo caso che non sono mostrati nel modo corretto (problema rispetta i versi delle provinciali del 2016).Mi chiedevo se sbaglio qualcosa. in breve il programma prima riempe il vettore V dei numeri da uno a N poi in base al segno inverte le coppie V[i] e V[i+1] per rispettare la disequazione e poi prosegue fino alla fine del vettore, rifa il processo fino a quando non c’è più nessuna inversione da fare.
#include <iostream>
using namespace std;
int main()
{
int N,err=1,aus,i=0,conta=0;
cin>>N;
int V[N];
char S[N-1];
for (int d=0;d<(N-1);d++)
cin>>S[d];
for (int d=0;d<N;d++)
{
V[d]=conta+1;
conta++;
}
while (err>0)
{
err=0;
i=0;
while(i<(N-1))
{
if (S[i]=='>')
{
if (V[i]>V[i+1])
i++;
else
{err++;
aus=V[i];
V[i]=V[i+1];
V[i+1]=aus;
i++;
}
}
else
{
if (V[i]<V[i+1])
i++;
else
{err++;
aus=V[i];
V[i]=V[i+1];
V[i+1]=aus;
i++;
}
}
}
}
for (int d=0;d<N;d++)
cout<<V[d]<<" ";
}