[wczytywanie danych z pliku]

0

Mam plik postaci :

0 0 1.84582
1 1.02693 1.84582
2 1.54039 1.84582
3 2.05385 1.84582

wpisany do tablicy jak każdą liczbę w danej kolumnie przedstawić jako inną zmienną np.

a=0 b=0 c=1.84582
a=1 b=1.02693 c=1.84582

itd.

0

Oprzyj się o to:

#include <fstream.h>


int liczba;
ifstream infile("c:\\katalog\\plik.ext");
if (!infile) return;
while (!infile.eof())
   {      
   infile >> liczba;
   //teraz liczba jest tym czego ci potrzeba:P
   }
infile.close();

PS> Zmień temat...

0

#include <fstream.h>
#include <iostream.h>
#include <conio.h>
void main (int argc,char *argv[])
{

int liczba;
ifstream infile(argv[1]);
if (!infile) return;
while (!infile.eof())
{
infile >> liczba;
//teraz liczba jest tym czego ci potrzeba:P
}
infile.close();

cout<<liczba;
getch();
}

przerobilem twój kod na coś takiego i nie działa :(

0

Takie coś mi się w Dev-C++ kompiluje piknie...

#include <fstream.h>
#include <iostream.h>
#include <conio.h>
void main (int argc,char *argv[])
{

int liczba;
ifstream infile(argv[1]);
if (!infile) return 0;
while (!infile.eof())
  {
  infile >> liczba;
  cout<<liczba<<endl;
  }
infile.close();
}
0

Problem pierwszy jeżeli program ma zwracać wartość to powinno być int main(), a nie void main(). A jego działanie jest dość ciekawe otóż testuje go na takim pliku tekstowym:

0 0 1.84582
1 1.02693 1.84582
2 1.54039 1.84582
3 2.05385 1.84582
4 3.08078 1.84582
5 3.59424 1.84582
6 4.10771 1.84582
7 5.13463 1.84582
8 5.64.81 1.84582

a wyświetla mi nieskończenie wiele liczb 4754128
jedna pod drugą :

4754128
4754128
4754128
...

0
  1. Mi się kompilator o void nie czepia, bo chyba nie powinien...
  2. Zmień [code]int liczba;[/code] na [code]float liczba;[/code]
0

A od czego najprosze :

fscanf(plik,"%f %f %f \n",&a,&b,&c);

0

No to jest super dzieki :). Słuchaj tera taki problem:

fscanf(zrodlo,"%f %f %f \n",&liczba_linijek,&czas[i],&napiecie[i]);

                                                  ^

czy moge tera zrobić coś takiego | zeby mieć wszystko w tablicach,
bo jak mamy ten plik

0 0 1.84582
1 1.02693 1.84582
2 1.54039 1.84582
3 2.05385 1.84582
4 3.08078 1.84582
5 3.59424 1.84582
6 4.10771 1.84582
7 5.13463 1.84582
8 5.64.81 1.84582

to tak z pierwszej kolumny musze mieć ostanią liczbę (8=liczba wierszy, czyli to akurat może być int tylko koniecznie to musi być ostatnia liczba z kolumny, a normalny jest dłuższy niż ten tu gdzies 45000 wierszy), a z 2 i 3 kolumny wszystko bo na podstawie tego mam zrobić poźniej wykres oczkowy (napięcia od czasu).

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