Dynamiczna tablica

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ł?

Kopiuj

#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();      
}


 
S7
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 10 lat
  • Lokalizacja:Słupsk
  • Postów:39
0

Nie do końca rozumiem o co Ci chodzi, ale poczytaj to New

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

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

edytowany 1x, ostatnio: se7ven
_13th_Dragon
  • Rejestracja:prawie 20 lat
  • Ostatnio:17 dni
0
Kopiuj
char tab[200][4][22];
for(int r=0;r<200;++r) for(int i=0;i<4;++i) scanf("%21s",tab[r][i]);
Kopiuj
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];
Kopiuj
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.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 1x, ostatnio: _13th_Dragon
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

_13th_Dragon
  • Rejestracja:prawie 20 lat
  • Ostatnio:17 dni
0
Kopiuj
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];

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.