Mam pytanie : jak wczytac liczby z klawiatury do tablicy oddzielone spacjami?
Jest różna ilość liczb.
Najprościej? getline() + strtok()
a jak to zapisac, bo pierszy raz sie z tym spotykam
getline(char Bufor, int rozmiar);*
Funkcja zapisze wszystko do napotkania znaku '\n' lub do osiagniecia dlugosci tekstu rownej zmiennej rozmiar.
char Bufor[100];
getline(Bufor, 100);
Jak bedziesz mial swoj tekst w Buforze to wystarczy przefiltrowac go w poszukiwaniu liczb i zamienic tekst na liczby funkcja atoi(char liczba);*
Zrob sobie:
- Bufor na twoj caly tekst
char Bufor[] = "123 321 4356 432";
Zalozmy, ze liczby masz oddzielone spacjami;
2. Nastepnie stworz tablice typu int, abyc mial gdzie przechowywac liczby i tablice typu char, do ktorej bedziesz zapisywal kazda liczbe odzielnie zeby ja przekonwertowac.
int tablica[x]; //x reprezentuje ilosc liczb jaka ma sie zmiescic w tablicy
char liczba[x]; //x reprezentuje ilosc cyfr najdluzszej wczytywanej liczby
To ci w zupelnosci wystarczy. Teraz sprawdzaj po kolei komorki w Buforze az do napotkania innego znaku niz cyfra zapisujac caly czas cyfry do zmiennej liczba. Jak napotkales swoja spacje lub koniec pliku '\0' lub null lub 0 wtedy znaczy ze w zmiennej liczba przechowywasz jedna liczbe. Przekonwertuj ja funkcja atoi() na int zapisujac ja do swojej tablicy. Wyczysc zmienna liczba i zapisuj do niej liczby od poczatku na tej samej zasadzie az nie skonczy ci sie tekst.