Problema con sottoposizione

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]<<" ";
}

Salve! Il tuo programma fornisce il risultato corretto, tuttavia nei problemi meno recenti la lettura e scrittura da standard input/output non è supportata, bisogna leggere l’input dal file input.txt e scrivere l’output nel file output.txt.

2 Mi Piace

Ti basterà aggiungere queste due righe all’inizio del main, così che il programma legga e scriva su file:

freopen("input.txt","r", stdin);
freopen("output.txt", "w", stdout);
2 Mi Piace