Ik heb een vraagje over een programma dat we moeten maken voor school. Nu mijn probleem is het programma werkt niet.
Het programma moet een getal dat je ingeeft uit een hele reeks verwijderen en nadien nul van maken en op de laatste plaats van de vector zetten.
Dit heb ik al gemaakt maar als ik het laat aflopen geeft die telkens een fout.
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
// post: zet de elementen van int-vector op het scherm
// gescheiden door komma's
void print( const vector<int>& v );
int main()
{
int iGetal;
vector<int> rij( 10 ); // vector met 10 elementen
for(int i = 0; i < 10; i++ )
{
cout << "Geef het " << i+1 << "e getal in: ";
cin >> iGetal;
rij[ i ] = iGetal;
}
cout << endl << "\t"<< setw(10)<< "Inhoud:" << endl << "\t"<< setw(10)<< "-------" << endl;
print( rij );
cout <<endl;
cin.get();
//VERWIJDEREN JA OF NEEN??
char chVerw;
do
{
cout << endl << endl << "Wilt u een getal verwijderen?? (J/N)" ;
cin >> chVerw;
if(chVerw == 'J' || chVerw == 'j')
//IN DEZE IF-STRUCTUUR ZIT DE FOUT
{
int iVerw;
cout << "Geef het getal in dat je wil verwijderen: ";
cin >> iVerw;
vector<int>::iterator pos;
for( pos = rij.begin() ; pos != rij.end() ; pos++)
{
if(*pos == iVerw)
{
rij.erase(pos);
rij.push_back(0);
}
}
}
if(chVerw == 'N' || chVerw == 'n')
{
cout << "De ingegeven waardes zijn niet geweizigd."<< endl<< endl;
}
}
while( chVerw != 'J' && chVerw != 'j' && chVerw != 'n' && chVerw != 'N' );
cout << endl << "\t"<< setw(10)<< "Inhoud:" << endl << "\t"<< setw(10)<< "-------" << endl;
print( rij );
cout <<endl;
cin.get();
}
//Afdrukken
void print( const vector<int>& v ) {
vector<int>::const_iterator pos,
einde = v.end();
for( pos = v.begin(); pos != einde-1; ++pos )
cout << "\t"<< setw(10) << *pos <<endl;
cout << "\t"<< setw(10) << *pos << endl;
}
ik hoop dat iemand me kan helpen
Het programma moet een getal dat je ingeeft uit een hele reeks verwijderen en nadien nul van maken en op de laatste plaats van de vector zetten.
Dit heb ik al gemaakt maar als ik het laat aflopen geeft die telkens een fout.
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
// post: zet de elementen van int-vector op het scherm
// gescheiden door komma's
void print( const vector<int>& v );
int main()
{
int iGetal;
vector<int> rij( 10 ); // vector met 10 elementen
for(int i = 0; i < 10; i++ )
{
cout << "Geef het " << i+1 << "e getal in: ";
cin >> iGetal;
rij[ i ] = iGetal;
}
cout << endl << "\t"<< setw(10)<< "Inhoud:" << endl << "\t"<< setw(10)<< "-------" << endl;
print( rij );
cout <<endl;
cin.get();
//VERWIJDEREN JA OF NEEN??
char chVerw;
do
{
cout << endl << endl << "Wilt u een getal verwijderen?? (J/N)" ;
cin >> chVerw;
if(chVerw == 'J' || chVerw == 'j')
//IN DEZE IF-STRUCTUUR ZIT DE FOUT
{
int iVerw;
cout << "Geef het getal in dat je wil verwijderen: ";
cin >> iVerw;
vector<int>::iterator pos;
for( pos = rij.begin() ; pos != rij.end() ; pos++)
{
if(*pos == iVerw)
{
rij.erase(pos);
rij.push_back(0);
}
}
}
if(chVerw == 'N' || chVerw == 'n')
{
cout << "De ingegeven waardes zijn niet geweizigd."<< endl<< endl;
}
}
while( chVerw != 'J' && chVerw != 'j' && chVerw != 'n' && chVerw != 'N' );
cout << endl << "\t"<< setw(10)<< "Inhoud:" << endl << "\t"<< setw(10)<< "-------" << endl;
print( rij );
cout <<endl;
cin.get();
}
//Afdrukken
void print( const vector<int>& v ) {
vector<int>::const_iterator pos,
einde = v.end();
for( pos = v.begin(); pos != einde-1; ++pos )
cout << "\t"<< setw(10) << *pos <<endl;
cout << "\t"<< setw(10) << *pos << endl;
}
ik hoop dat iemand me kan helpen