Skocz do zawartości
The_Structor

[c++] Tablice - Zapis I Odczyt Z Pliku

Rekomendowane odpowiedzi

Chcialbym napisac taki program:

 

 

uzytkownik podaje liczby, ktore zapisywane sa do pliku

 

nastepnie z tego pliku sa odczytywane i zapisywane do tablicy...

 

 

Napisalem program, ktory zapisuje wartosci do pliku i odczytuje je, ale nie wiem jak to zrobic z tablica, zeby dodatkowo miala taki sam rozmiar jak ilosc elementow w pliku, czy moglby mi ktos pomoc, bo nie moge nigdzie znalezc odpowiedzi :/

 

jeszcze tak dla lepszego zrozumienia:

 

podaje liczby, np:

 

3,4,5,6,7,8

 

program zpaisuje je do pliku o wybranej przeze mnie nazwie (np. 1.txt)

 

nastepnie program tworzy tablice o rozmiarze takim jak ilosc elementow (w tym wypadku 6) i zapisuje w niej liczby z pliku (np. 1.txt), czyli tab[0]=3, etc...

 

 

z gory dzieki za pomoc i poswiecony czas, bo sie mecze z tym :/ ale mysle ze to sie przyda nie tylko mi

 

 

chodzi o jak najlatwieszy sposob, tak zebym mogl to spokojnie zrozumiec i wykorzystac w swoich programach :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Bardzo latwe, moze niezbyt optymalne ale wydaje mi sie ze wystarczy, przelatujesz plik raz, zliczasz ilosc liczb, powiedzmy liczac ile jest przecinkow + 1 i pozniej tworzysz tablice i przelatujesz jeszcze raz po pliku, choc pewnie zaraz sie okaze ze nie do konca Cie zrozumialem ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Chcialbym napisac taki program:

uzytkownik podaje liczby, ktore zapisywane sa do pliku

 

nastepnie z tego pliku sa odczytywane i zapisywane do tablicy...

Napisalem program, ktory zapisuje wartosci do pliku i odczytuje je, ale nie wiem jak to zrobic z tablica, zeby dodatkowo miala taki sam rozmiar jak ilosc elementow w pliku, czy moglby mi ktos pomoc, bo nie moge nigdzie znalezc odpowiedzi :/

Zapis:

- zapisujesz rozmiar tablicy (tu dajesz spację albo '\n')

- zapisujesz wszystkie liczby z tablicy (rozdzielone przecinkiem albo spacją).

i tyle :)

Czyli, dla tablicy {1,2,3,4} dostaniesz:

"4 1 2 3 4"

 

Odczyt:

- wczytujesz pierwszą liczbę: rozmiar tablicy

- alokujesz pamięć na tablicę (rozmiar już masz)

- wczytujesz po kolei liczby i wpisujesz do tablicy.

 

Ponieważ wiesz ile liczb masz wczytać (znasz rozmiar tablicy) od razu możesz wyłapać błąd w pliku danych (np. za mało liczb)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

a moglby ktos napisac jakis przyklad ? O_o

1209578[/snapback]

#include <vector>#include <fstream>#include <iostream>#include <stdlib.h>using namespace std;int main(){ char znak[]=" "; vector <int> tab; ifstream plik("plik.txt"); string liczba; while ( plik.good() ) {        znak[0]=plik.get();      if(znak[0]!=' ')      {          liczba.insert(liczba.size(),znak);      }          else      {          tab.push_back(atoi(liczba.c_str()));          liczba.erase();      }     } tab.push_back(atoi(liczba.c_str()));  for(int i=0; i<tab.size(); ++i) {     cout << tab[i] <<endl; }     system("pause"); return 0;}

mam nadzieje ze pomoglem :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...