wczytywanie do tablicy

0

Mam pytanie : jak wczytac liczby z klawiatury do tablicy oddzielone spacjami?
Jest różna ilość liczb.

0

Najprościej? getline() + strtok()

0

a jak to zapisac, bo pierszy raz sie z tym spotykam

0

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:

  1. 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.

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