Problem w programie z klasą VECTOR

Odpowiedz Nowy wątek
2006-12-17 21:36
0

Witam, mam taki prosty programik czytający z pliku:
#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

int main(){
vector<string> v;
ifstream in("plik.txt");
string odczyt;

while(getline(in,odczyt))
   v.push_back(odczyt);

for(int i=0;i<v.size();i++){
        cout<<i+1<<": "<<v[i]<<endl;
}
/*
for(int i=v.size();i>=0;i--){
        cout<<i<<": "<<v[i]<<endl;
}
*/
system("pause");
return 0;

}</span>
Chciałbym wyświetlić ten plik nie od początku tylko od końca. Napisałem pętle (komentarz), jednak program się wiesza. Pomóżcie

Pozostało 580 znaków

2006-12-17 21:47
0

Pisze z głowy (, czyli z niczego):

for(vector<string>::iterator i(v.end()), b(v.begin()); b >= i; --i)
{cout << *i << endl;}

Ew. skorzystaj z algorytmu for_each link.


Pozdrawia DzieX

int getRandomNumber() { return 4; }

Pozostało 580 znaków

2006-12-17 22:21
0

Próbowałem, ale nie działa, wolałbym jakieś prostsze rozwiązanie.

Pozostało 580 znaków

2006-12-17 23:24
0
#include <string>
#include <algorithm>
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

void print(int i)
{
    cout << i << endl;
}

int main()
{
    vector<int> v;

    v.push_back(1);
    v.push_back(2);
    v.push_back(3);
    v.push_back(4);

    for_each( v.rbegin(), v.rend(), print);

    return 0;
}

Jeśli to jest trudne, to ja się więcej nie wypowiadam...


Pozdrawia DzieX

int getRandomNumber() { return 4; }

Pozostało 580 znaków

2006-12-17 23:44
0

Pierwszy raz się spotkałem z taką pętlą for_each, i zapis tej pętli była dla mnie nie zrozumiały. Program już działa, dzięki za podpowiedź.</delphi>

Pozostało 580 znaków

2006-12-17 23:54
0

To nie jest pętla, tylko algorytm.


Pozdrawia DzieX

int getRandomNumber() { return 4; }

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0