Mam prosbe do bieglych w programowaniu, ja bowiem glupieje w niektorych pozornie prostych sytuacjach, i tu zdaje sie jest jedna z takich. Glowny problem: jest sobie plik tesktowy, zreszta bardzo duzy, w unixie, sunsolaris, co nie wydaje sie miec znaczenia, i ten plik od poczatku leci tak: TIMESTEP 0 0.000000000 END POSITIONRED 1.921346957 2.374989162 2.605950554 2.026828257 2.285893191 2.590275308 2.067359985 2.247612267 2.461974223 1.880706363 2.412879312 2.733184611 1.773879251 2.502545503 2.743440519 2.091252027 2.234638907 2.702319739 2.173859728 2.164834670 2.689845384 1.945102927 2.361669647 2.845353356 1.913380506 2.391737230 2.945186589 2.050623926 2.272608274 2.829761049 # 10 2.101242623 2.232102684 2.917378550 1.850726951 2.431435941 2.489737243 1.774229052 2.546112291 2.506508095 1.766202281 2.604869902 2.632927259 1.859261906 2.372982175 2.364017606 1.936065825 2.257402649 2.347307752 1.705711505 2.602721325 2.399790018 i dalej mamy liczby, liczby, liczby, az do okolo tysiaca wierszy, oddzielanych informacyjnie wierszami ze znaczkiem # plus kolejny numer trojeczki liczb ponad znaczkiem #. Przykladowo, wyzej widzimy linijke z # 10, bo linia 2.0506.... etc jest dziesiata liczac od pierwszej (pod slowami POSITIONRED). Potrzebujemy dla pewnych celow tylko pozycje z konkretnych linijek, powiedzmy z 1, 4, 12 i 15, liczac caly czas linijke pod POSITIONRED jako nr 1. Razem 12 liczb. Na tych liczbach bedzie trzeba wykonac pewne operacje- najpierw logiczna, potem arytmetyczna. Najpierw jednak chodzi o takie sformulowanie kodu, w fortranie lub C, aby on wlasnie te liczby z tych konkretnych linijek przeczytal. Ma on je zatem wczytac, nastepnie przeprowadzic na nich operacje logiczna, przy negatywnym wyniku operacji ktores z liczb zmienic w okreslony sposob, az wynik bedzie pozytywny, i potem majac 12 liczb uzyskac jedna jako wynik pewnego dosc skomplikowanego, ale nie wychodzacego poza standardowe funkcje obliczenia matematycznego, i wpisac te liczbe do pliku wynikowego. Nasz plik wejsciowy jest jednakowoz ogromny i za te mniej wiecej 1000 wierszy (te liczbe moge okreslic dokladnie, niech sie na razie nazywa n) pojawia sie segment: TIMESTEP 200 0.20000 END POSITIONRED i znow liczby jak wyzej, i teraz znow interesuje nas trojeczka z wiersza 1,4,12,15 liczac POSITIONRED jako 0, i ta sama procedura, i tak az do konca pliku, a bedzie tych POSITIONRED 5000 (slownie: piec tysiecy), tylez linijek winien liczyc plik wynikowy. Ze wzgledu na rozmiary pliku wejsciowego, nie sa przewidziane jego wstepne modyfikacje. Wyglada on wiec tak: pare linijek nieistotnych (TIMESTEP etc) trojki liczb oddzielonych co 10 wierszami z # znow pare linijek nieistotnych znow TIMESTEP etc, etc. Co trzeba zrobic, by program przeczytal 12 pozadanych liczb, wykonal na nich wszystkie wymagane operacje, wynik wpisal do pliku wynikowego, i tak 5000 razy? Plik wynikowy zas powinien wygladac dokladnie tak: 0.00000000 -162.05985391 0.10000000 -176.81056635 0.20000000 166.26940676 0.30000000 151.30100339 etc, gdzie pierwsza liczba w kazdej linijce jest "numerem porzadkowym" (prawa liczba w linijce ze slowem TIMESTEP), ale moze byc to tez zwykly numer porzadkowy, od 0 do 4999, druga zas- nasz wynik obliczenia dla 12 liczb. Potrzebny mi jest dokladnie taki format, abym potem mogl obrobic ten plik jeszcze innym programem. Dla fachowca bedzie to pewnie proste i przyjemne, a ja przy okazji czegos sie naucze. Dzieki za pomoc, Andrzej