Witam,
mam problem z pomysłem na pewien sposób wczytywania liczb z pola tekstowego do tablicy.
Otóż chciałem zrealizować to tak, aby użytkownik mógł podać pojedyncze liczby i pewien zakres/zakresy, podobanie jak to ma miejsce przy wyborze drukowania stron.
np: 1,3,15-17,20-23
Użytkownik wpisuje powyższy tekst do pola tekstowego, a program wypełnia tablicę następującymi liczbami 1,3,15,16,17,20,21,22,23.
Początkowo planowałem zrobi to analizując w pętli kolejne elementy stringa tzn, sprawdzam czy dany element jest liczbą (funkcja isdigit), następnie sprawdzam czy element obok jest liczbą, jeśli tak, to sprawdzam kolejny element (działać ma to do 3-cyfrowych liczb). Jeśli nie, to sprawdzam, czy jest przecinek - jeśli tak, to wpisuje te dwie stojące cyfry do tablicy, natomiast jeśli jest myślnik, to sprawdzam ile cyfr ma liczba za myślnikiem, odejmuje druga od pierwszej i mam zakres liczb, i po kolei dodaje począwszy od pierwszej do ostatniej i zapisuje je w kolejnych komórkach tablicy.
No i mam problem, bowiem o ile pojedyncze liczby nie stanowią problemu, to mam trudność z liczbami z zakresu. Utworzyłem tablice stringów, i program wysypuje się na probie dodania do stringa 1.
Nie pasuje mu ten fragmenttab[j]=tekst.substr(i,2)+1;
Oczywiście problemem jest konwersja liczb ,do stringa probuje dodać int.
Chciałem to rozwiązać w ten sposóbstring a=tekst[1]+(char*)1;
ale wówczas, kompilator uruchamia program, po czym następuje wywalenie się Visual Studio Debbugera.
Może ma ktoś inny pomysł na rozwiązanie powyższego problemu ogólnie, jako samej metody, ewentualnie, co zrobić, żeby powyższy fragment kodu nie sprawiał już problemów. Z góry dziękuję za wszelką pomoc :-)