Eliminare Numeri negativi da una coda

di il
1 risposte

Eliminare Numeri negativi da una coda

Ciao a tutti, ho questo esercizio che mi chiede di eliminare i numeri negativi da una coda, senza cambiare però gli altri elementi della coda.

Questo è il codice che ho provato:
#include <iostream>
#include <deque>
using namespace std; 

void RimuoviNegativi (deque <int>& C)
{
	deque <int> Pos; //Coda dove immagazzinare i numeri positivi trovati
	for (int i=0; i<C.size(); i++)
	{
		if(i>=0)
		  Pos.push_back(i); 
	}
	//STAMPO
	cout << "CODA SENZA NEGATIVI: ";  
	for (deque<int> :: iterator it=Pos.begin(); it!=Pos.end(); ++it)
	   cout << " " << *it; 
}
int main()
{
	deque <int> Coda; 
	
	int n; 
	cout << "Inserisci elementi nella coda (premi 0 per terminare): "; 
	do {
		cin >> n; 
		Coda.push_back(n); 
	} while (n); 
	
	RimuoviNegativi(Coda); 

	return 0; 
}
Il problema è che se ad esempio inserisco come elementi nella coda; -2 3 1 -3 0, in stampa mi ritrovo: 0 1 2 3 4, e non 3 1 0.
Secondo voi dov'è che sbaglio? Grazie mille in anticipo!

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte