Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 27 kwi 2024, o 22:53


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 24 ] 
Autor Wiadomość
PostNapisane: 18 wrz 2012, o 19:49 
Offline
Nowy

Dołączył(a): 18 wrz 2012
Posty: 11
Pomógł: 0

Witam. Chciałbym prosić o pomoc ze względu na to, że dopiero zaczynam przygodę z C. Mam do napisania taki program: Napisz program, który wczyta tekst z pliku i zapisze co drugą linie
do innego pliku.

Czy ktoś może podpowiedzieć jak to napisać?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 19:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

to bardzo proste ...
procek i tak nie będzie wiedział co czyta z tego pliku więc musisz policzyć bajty
i od bajtu początkowego do końcowego złapiesz linię
i tak z każdą linią a potem zapisać właściwe bajdy do drugiego pliku

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 20:00 
Offline
Nowy

Dołączył(a): 18 wrz 2012
Posty: 11
Pomógł: 0

Wiem, że nie powinienem ale czy mogę prosić o fragment kodu?
Jak narazie nierobię nic na sprzęcie, tylko konsola i zabawa wynikami

Tu napisał kod programu który kopiuje cały plik, jak to zmodyfikować żeby wybierał linie?

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


pominąłem ścieżki do plików w wskaźnikach chodzi mi głównie o sam main



Ostatnio edytowano 18 wrz 2012, o 20:10 przez dEvi@n3r, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 20:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Ja bym tylko chciał skromnie zapytać, co kolega studiuje?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 20:09 
Offline
Nowy

Dołączył(a): 18 wrz 2012
Posty: 11
Pomógł: 0

różne ksiażki, "Kardasia" też



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 20:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Ja padam na p.... heh

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 20:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Wrzuć jakiś schemat, napisz na jaki procesor piszesz, może coś się uda pomóc.

Tymczasem spróbuj coś z tego wygrzebać :)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 20:18 
Offline
Nowy

Dołączył(a): 18 wrz 2012
Posty: 11
Pomógł: 0

Tak jak pisałem wyżej, nie pisze narazie na procek, tylko zwyczajnie na konsoli wyświetlam wyniki. Chodzi mi o najprostszą formę realizacji tego problemu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 20:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

ale my nie rozumiemy twojego myślenia ... przy pracy z prockami nie da się robić na sucho
testy zawsze się robi na sprzęcie.

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 20:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Zazwyczaj staramy się pisać najprościej jak się da... w jakim programie piszesz ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 20:31 
Offline
Nowy

Dołączył(a): 18 wrz 2012
Posty: 11
Pomógł: 0

piszę w linuxowym gedit, później kompiluje i wyświetlam wszystko w konsoli.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 20:49 
Offline
Nowy

Dołączył(a): 18 wrz 2012
Posty: 11
Pomógł: 0

W takim razie przepraszam za wybór działu. Wracając do pytania rozchodzi mi się o to jak kopiować co drugą linijkę?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 20:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Nie jestem jeszcze poliglotą, ale wydaje mi się że musisz odczytać znak "enter". Następnie co drugi "enter" miedzy "enterami" kopiować to co między "enterami" jest i wrzucać do innego pliku, ale jak mówię nie jestem poliglotą.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 21:02 
Offline
Nowy

Dołączył(a): 18 wrz 2012
Posty: 11
Pomógł: 0

EOL występuje na końcu linijki czy całego pliku?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 21:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Tak, GwynBleidD Ci napisał.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 21:14 
Offline
Nowy

Dołączył(a): 18 wrz 2012
Posty: 11
Pomógł: 0

Czy stosuje się arytmetykę typu EOL+2? Próbuje w linijce z putc to wcisnąć ale nie mam pomysłu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 21:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Może na początek spróbuj cokolwiek przenieść do innego pliku, w ramach testu. Może skopiuj cały plik. Dasz radę ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 wrz 2012, o 05:14 
Offline
Nowy

Dołączył(a): 18 wrz 2012
Posty: 11
Pomógł: 0

Z całym plikiem nie mam problemu chodzi tylko o tą co drugą linijkę



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 wrz 2012, o 08:22 

Pomógł: 0

Mogę cię lekko naprowadzić jak ja sobie poradziłem z przylatującymi danymi po RS, gdzie na przemiennie przychodziły dane oddzielone znakiem CR, i co tylko co drugą daną musiałem wyświetlać.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 20 wrz 2012, o 08:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Zastosuj sobie licznik linii inkrementowany po wykryciu EOL, a wybór linii do kopiowania zrób na if'ie z warunkiem modulo



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 wrz 2012, o 05:18 
Offline
Nowy

Dołączył(a): 18 wrz 2012
Posty: 11
Pomógł: 0

:o :?: :?: no to już zupełnie nie wiem o co chodzi jeśli mam jeszcze modulo użyć...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 wrz 2012, o 08:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

dEvi@n3r napisał(a):
:o :?: :?: no to już zupełnie nie wiem o co chodzi jeśli mam jeszcze modulo użyć...


Modulo to reszta z dzielenia.
Zauważ, że jeśli wykonujesz mod 2, to przy liczbach parzystych dostajesz 0, natomiast przy nie parzystych dostajesz 1
Np:
3%2=1
4%2=0
5%2=1
6%2=0
itd..

Wystarczy warunek
if(licznik_linii%2) {
kopiuj
}



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 wrz 2012, o 08:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Inkrementując licznik przy EOL masz podaną aktualną linię w której się znajdujesz.

A modulo jest ci potrzebne do wybrania linii parzystych i nie parzystych :P

np: warunek IF( 0==licznik%2) będzie spełniony tylko wtedy gdy linia będzie parzysta ( twoja co druga linia )

Dzięki temu możesz kopiować np: co drugą linie , trzecią , czwartą itd.


A może to wyglądać na podstawie twojego kodu np. tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jakoś tak by to miało wyglądać ;) Piszę to tak z pamięci więc mogą być jakies błedy .....

Hehehe @xamrex mnie ubiegł ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 wrz 2012, o 11:47 
Offline
Nowy

Dołączył(a): 18 wrz 2012
Posty: 11
Pomógł: 0

Nie no Panowi jestescie genialni :!: I właśnie tu jest mój największy problem. Znam składnie, znam instrukcje ale nie potrafię ich tak umiejętnie powiązać ;( Wiem że to wymaga praktyki pisania, ale jak praktykować jak trafi się na takie coś i nie wiadomo jak ugryźć...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 24 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO