Problem z indeksowaniem tablicy stringów

0

Witam,
Kolejny problem.
Mam kod:

 
while(getline(plik,wiersz))
			{
				tab[i]=wiersz;
				i++;
			}
		for(i=0;i<ile;i++)
			if(tab[i].size()>0)
			{
				if( (tab[i].size()) > (tab[i+1].size()) )
				{	
					tmp=tab[i];
					tab[i]=tab[i+1];
					tab[i+1]=tmp;
				}
			} 

Z tego co widzę to w żaden sposób nie mogę użyć tab[i+1]. Z tym jest problem.
Kompiluje mi się ale system wywala błąd.
To pewnie jakiś problem z pamięcią ale może ktoś mi podpowiedzieć jak to zrobić?

0
  1. Pokaż jak tworzysz tablicę - czy liczba elementów tablicy jest równa liczbie linijek pliku textowego ?
  2. kiepsko zaprojektowałeś pętlę . ..
0
while(getline(plik,wiersz)) tab[i++]=wiersz;
for(i=1;i<ile;++i)
  {
   if(tab[i-1].size()>tab[i].size())
     {
      tmp=tab[i-1];
      tab[i-1]=tab[i];
      tab[i]=tmp;
     }
  }
0

Już w końcu doszedłem do tego sam.
Ale dzięki za pomoc.

0

lol

      tmp=tab[i-1];
      tab[i-1]=tab[i];
      tab[i]=tmp;

można zastąpić przez

std::swap(tab[i-1], tab[i]);

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