Rodzielanie stringa

0

Ma ktos pomysła jak rozdzielić stringa (char *) w którym występuje znak '\n' na osobne tablice, tzn: jak stworzyć tyle tablic ile jest w tym stringu znaków '\n' i jak do nich przekopiowac text do kolejnych znaków '\n'.

0

Witam !
Mam nadzieje , że coś takiego miałeś na myśli . Algorytm nie jest odporny na wyjątki :) , bo mi sie nie chciało tego pisać , ale myśle że zachowania dla szczególnych stringów to juz sam dopiszesz

[code]int main()
{
char *tekst="Taaentekstzanwierasobien-yiauisbnasdhnaas";
int ilosc=1;
int i=0;
int j=0;
int pomoc;
char **tablice;

clrscr();
while(tekst[i]!='znak_końca_tekstu') //sprawdzam ile bedzie trzeba tablic zrobic
{
if(tekst[i]=='n')
ilosc++;
i++;
}
pomoc=0;
i=0;
tablice=new char*[ilosc];
while(tekst[i]!='znak_końca_tekstu')
{
if(tekst[i]=='n')
{
tablice[pomoc]=new char[j+1]; //tablica 2 wymiarowa ktora
j=0; //bedzie przechowywac te tablice z czesciami tekstu
pomoc++;
i++;
continue;
}
j++;
i++;
}
tablice[pomoc]=new char[j+1];
i=0;
pomoc=0;
j=0;
while(tekst[i]!='znak_końca_tekstu')
{
if(tekst[i]=='n')
{
tablice[pomoc][j]='znak_końca_tekstu';
pomoc++;
j=0;
i++;
continue;
}
tablice[pomoc][j]=tekst[i];
j++;
i++;
}

for(i=0;i

0

można do tego w sumie jeszcze użyć strtok() ale to faunkcja zepsuje nam oryginalny tekst i odpowiednie części tekstu nie będą kopiowane , ale jedynie wzrócony zostanie wskaźnik

0

Oki thx ale juz to rozwiązałem :-)

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