grzybis Opublikowano 2 Lipca 2005 Zgłoś Opublikowano 2 Lipca 2005 Witam, jestem raczej zielony ale musze wykonac w C++ (konkretnie w Borlandzie) pewna czynnosc. Otoz z pliku tekstowego musze pobrac dane i wpisac do tablicy. Plik sklada sie z kolejnych numerkow i oddzelonych TAB'em podporzadkowanym im roznym wartosciom (od 1 do 255). Tak jakby kolejne argumenty i wartosci funkcji. Wygladac to moze tak: 1 12 2 121 3 24 ... 128 75 Pomijajac numery porzadkowe musze te wartosci wpisac do tablicy int[128]. Czyli bedzie sie ona skladala z kolejnych wartosci np. [12,121,24,...,75] Bardzo bym prosil o pomoc bo problem mnie przerasta Mesayah Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
zgredźmin Opublikowano 2 Lipca 2005 Zgłoś Opublikowano 2 Lipca 2005 (edytowane) Jeżeli chodzi tobie o to ,że liczby porządkowe są ustawione kolejno i trzeba po prostu je zignorować to można to zrobić np.tak: int tab[128]; int n; for(int i=0;i<128;i++) {cin>>n; cin>>tab;} a jeżeli liczby porządkowe są w przypadkowej kolejności chyba coś takiego: int tab[128]; int n; for(int i=0;i<128;i++) {cin>>n cin>>tab[n-1];} Z tym że ten sposób zadziała jeżeli ilośc dannych w pliku będzie taka sama jak wielkośc tablicy. No i oczywiście jeżeli pierwsza liczba w porządku będzie miała liczbę porządkową1, wtedy odpowiadająca jej wartość zostanie zzapisana do pierwszej komórki tablicy czyli o indeksie 0 :D Edytowane 2 Lipca 2005 przez zgredźmin Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
MeHow Opublikowano 4 Lipca 2005 Zgłoś Opublikowano 4 Lipca 2005 ja bym to zrobil tak (ale napisze Ci tylko algorytm, skodowac sprobuj sam). Z tego co widze chodzi Ci o to, aby z pliku wpisac liczby do tablicy. Zakladamy wiec, ze nie wiemy jakiej wielkosci ma byc tablica. Najpierw przelec caly plik i w petli while pobieraj liczby, po kazdym pobraniu inkrementuj licznik, bedziesz wiec wiedzial ile jest tych liczb. Potem zamknij plik, otworz go ponownie, abys byl na poczatku, zamallocuj czy np w C++ przy uzyciu new walnij dynamiczna tablice z wielkoscia inkrementowana, i spokojnie dodawaj w petli while liczby do tablicy. powinno dzialac Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
grzybis Opublikowano 4 Lipca 2005 Zgłoś Opublikowano 4 Lipca 2005 Dziekuje za wszystkie rady. Problem rozwiazany: if(OpenDialog1->Execute()) { in=fopen(OpenDialog1->FileName.c_str(), "r"); a=new double*[128]; for(i=0;i<128;i++) a=new double[128]; for(i=0;i<128;i++) { for(j=0;j<2;j++) fscanf(in,"%lf",&a[j]); } fclose(in); for(i=0;i<128;i++) { punkty3=a[1]; } } Moge isc na piwo :) Pozdrawiam Mesayah Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ayem Opublikowano 5 Lipca 2005 Zgłoś Opublikowano 5 Lipca 2005 uzywajcie tagow [ code ] [/ code ] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...