@sylwke3100: Ja nie mówię, ƶe to dobre, po prostu wyjaśniam skąd się to wzięło (w sumie jak ktoś pisze kod w C pod Windows to wciąƶ tak musi pisać - MSVC nie wspiera C99, o C11 nie wspominając) :P
A co do goto - wbrew pozorom czasem moƶe być przydatne, chociaƶ w tym momencie nie mogę sobie przypomnieć ƶadnej dobrej do tego sytuacji.
używam tego samego "i" w dwóch kolejnych pętlach; tylko dlatego tak napisałem
line="{"+sf1+"}"+"{"+sf2+"}"+line.erase(0, i+1);
tutaj po prostu zamieniam {xxx}{xxx}jakistekst na {yyy}{yyy}jakistekst
jakoś nie wiem czemu tak zrobiłem ;p
for(auto char: line)
tak szczerze to z tym się nie spotkałem, ja nie jestem jakoś na bierząco. piszę jak mi się nudzi, jak jestem chory i siedzę w domu zamiast iść do szkoły
@jaggi: Czyli robisz mały błąd bo nie zerujesz zmiennej a ją w kolejnej pętli używasz co może powodować że przekroczysz nieumyślnie rozmiar stringa gdyż inkrementujesz ze starą wartością
@sylwke3100: właśnie o to chodzi żeby nie zerować tej zmiennej bo jest mi potrzebna wartość jaką miała po wyjściu z poprzedniej pętli i nie ma prawa przekroczyć rozmiaru stringa bo osiągnięcie przez tą zmienną rozmiaru.stringa jest warunkiem kończącym jedną i drugą pętle, więc w razie czego ta 2 po prostu się nie wykona. Wiem że jest replace; tylko że tutaj było mi tak wygodniej bo z replace musiałbym jeszcze sprawdzać pozycje
http://pastebin.com/brHanny0
http://pastebin.com/DBSAzdvr
#programowanie #cpp #nuda #codereview
for(;i<line.length();i++)
Zamiast :
for(int i =0;i
a jeszcze lepiej bo można by to było zrobić mniej więcej tak
for(auto char: line)
Poza tym to :
line="{"+sf1+"}"+"{"+sf2+"}"+line.erase(0, i+1);
dziwne wydaje mi się
Poza tym jak już używasz tablic i C++ to mógłbyś wektorów używać
Zamiast takiego dziwactwa:
string* tab=new string[x];
A i nie sprawdzasz
A co do goto - wbrew pozorom czasem moƶe być przydatne, chociaƶ w tym momencie nie mogę sobie przypomnieć ƶadnej dobrej do tego sytuacji.
for(;i<line.length();i++)
używam tego samego "i" w dwóch kolejnych pętlach; tylko dlatego tak napisałem
tutaj po prostu zamieniam {xxx}{xxx}jakistekst na {yyy}{yyy}jakistekst
jakoś nie wiem czemu tak zrobiłem ;p
tak szczerze to z tym się nie spotkałem, ja nie jestem jakoś na bierząco. piszę jak mi się nudzi, jak jestem chory i siedzę w domu zamiast iść do szkoły
Od zamiany tekstu masz string::replace
http://www.cplusplus.com/reference/string/string/replace/
Poza tym warto by było zdobyć trochę wiedzy tym bardziej o obektówce.
Tak nawiasem
for(;i
{
if(line[i]=='{')
{
i++;
while (line[i]!='}')
{
temp+=line[i];
i++;
}
break;
}
}
Moża by zapisać tak :
http://ideone.com/2wGhyc
Wtedy być F1 i F2 oraz kolejne z tablicy wyciągał i mniej pętli to szybciej a znając życie @KrzaQ2 by to lepiej napisał