Dynamiczna tablica

0

Witam , chcę stworzyć dynamicznie działająca tablicę nie wiem jak , jak przypiszę odpowiednio do pierwszego wiersza pliku odpowiednia ilość elementów tablicy: char tab[4][20] to działa jak pobieram jedna linijke, ale ja potrzebuje pobrac ich 200 i kazda ma inna ilość znaków w słowie.
Każde słowo ma co najwyżej 20 liter , i słów w wierszu jest 5 . Ma ktoś pomysł?


#include<iostream>
#include<fstream>
#include<ostream>
#include<conio.h>
#include<string>
#include<cstdlib>
#include<math.h>

using namespace std;

int main()
{
    string a;
    int i,j,k,dl; 
    char tab[4][20];
      ifstream anagram("anagram.txt");
      ofstream wynik("wynik_a.txt");
               if(!anagram)
               {
               system("PAUSE");
                           return 1;
               }
      getline(anagram,a);
      i=0;
      j=0;
      k=0;
      dl = a.length();
      for(i=0;i<=dl-1;i++)
                          {  
                            if(a[i]==' ')
                                     {
                                     j=0;                         
                                     k++;
                                     }        
                                     else
                                     {
                                     tab[k][j]=a[i];
                                     cout << "tab[" << k << "][" << j << "]=" << tab[k][j] << endl;
                                     j++;
                                     }
                           }                                         
      anagram.close();
      wynik.close();
      system("Pause");
      return 0;

getche();      
}


 
0

Nie do końca rozumiem o co Ci chodzi, ale poczytaj to http://4programmers.net/C/New

      
system("Pause");
return 0;
 
getche(); 

Przy okazji chciałbym się zapytać o to ciekawe rozwiązanie ;)

0
char tab[200][4][22];
for(int r=0;r<200;++r) for(int i=0;i<4;++i) scanf("%21s",tab[r][i]);
char tab[200][4][22];
for(int r=0;r<200;++r) for(int i=0;i<4;++i) cin>>setw(21)>>tab[r][i];
string tab[200][4];
for(int r=0;r<200;++r) for(int i=0;i<4;++i) cin>>tab[r][i];

Jeżeli każdy wiersz rozpatrujesz niezależnie to ten wymiar na [200] nie jest potrzebny.

0

Chodzi o to , zeby nie znajdowac innego rozwiązania, bo dynamiczna tablica przyda mi sie do innych zadań. A nie mam kompletnie pojęcia jak zrobic taką która z góry nie potrzebuje zakładania liczby elementów i liczba elementów moze byc zmienna z kazdym przebiegiem petli

0
vector<vector<string> > tab(200,vector<string>(4));
for(int r=0;r<tab.size();++r) for(int i=0;i<tab[r].size();++i) cin>>tab[r][i];

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