wektor i wyłaniania słów posiadających tylko litery

0

Witam, mam do napisania program " Wczytaj interakcyjnie do pojemnika wektor pewną liczbę napisów (string) akceptując tylko napisy zawierające wyłącznie litery. Uporządkuj napisy kierując się kryterium długości"

No i pierwsze problemy napotkałem już w momencie wyłaniania napisów zawierających wyłącznie litery

#include <iostream>
#include <algorithm>
#include <cctype>
#include <string>
#include <vector>


using namespace std;

wyswietl(vector <string> &tab)
{
    cout<<"Zawartosc vectora :"<<endl;
    for(int i=0; i<tab.size(); i++)
    {
        cout<<tab[i]<<endl;
    }
}

wczytaj(int &ile, vector <string> &tab)
{
    int c=0;
    string tekst;
    cout<< "Podaj "<<ile<<" napisow oddzielonych enterem"<<endl;
    for(int i=-1; i<ile; i++)
    {
        getline(cin, tekst);
        for (int j=0; j<tekst.length(); j++)
        {
            if ( isalpha(tekst[j]) != 0)
            {
                c++;
            }
        }
        if(c==tekst.length())
        {
            tab.push_back(tekst);
        }

    }
}
int main()
{
    int ile ;
    vector < string > tab;
    cout<<"Ile napisow chcesz wczytac?"<<endl;
    cin>>ile;
    wczytaj(ile, tab);
    wyswietl(tab);

}
 

W wektorze zapisuję się tylko pierwszy wyraz. Załóżmy że wpisze 3 stringi "Alamakota" "Ala ma 3 koty" i "kotmaale" program wyswietla jedynie "Alamakota" zamiast "Alamakota" i "kotmaale"

Proszę o pomoc.

1
  1. Kod sie nie kompiluje http://ideone.com/pUi59W
  2. wczytuj po prostu liczbe (w sensie zrob zmienna int i wpisz do niej zmienna cos na zasadzie jak tu http://stackoverflow.com/questions/5655142/how-to-check-if-input-is-numeric-in-c) a pozniej castuj to na stringa za pomoca std::to_string

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