Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Imre
Člen
Avatar
Imre:11.11.2016 19:33

Dobrý, potreboval by som pomôcť s načítam čísel zo súboru. Samotné čísla mi načíta, ale potrebujem ich vložiť do zásobníka pomocou už vytvorenej metódy push. Ak by ste mi niekto vedel poradiť budem vďačný, keďže som začiatočník.

void read(LinkedList &list)
{


        string line;
        ifstream subor("test.txt");
        if (subor.is_open())
        {
                while (getline(subor, line))
                {

                        cout << line << "\n";
                }
                subor.close();
        }

        else cout << "Unable to open file";



}

METODA push:

void push(LinkedList &list, unsigned int nodeID)
{
        list.node = new LinkedList::Node(nodeID, list.node);
        if (list.node != NULL)
        {
                list.count++;
        }
}
 
Odpovědět
11.11.2016 19:33
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Imre
Martin Dráb:11.11.2016 19:46

No, měl bys prozkoumat, jaké znaky se mohou nacházet mezi jednotlivými čísly, načtenou řádku rozdělit na úseky obsahující čísla a ta zkonvertovat. Ke konverzi můžeš použít různé funkce: atoi, strtoi**, bude jich asi ještě více.
http://stackoverflow.com/…ing-to-int-c

Co se týče metody push, myslím, že není napsaná zrovna šťastně. Pokud by operátor new// vrátil 0 (neboli **NULL) a nevyhodil při tom výjimku (což je asi jeho standardní chování, ale určitě půjde předefinovat), odpojíš zbytek seznamu od prvního prvku, čímž jej (ten zbytek) ztratíš.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
11.11.2016 19:46
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.