Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 20.10.2010, 23:45   #1
clzola
Član
 
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
Određen forumom Čitanje iz nekog txt fajla

Treba mi komanda koja ce cita jednu nasumicno odabranu liniju iz .txt fajla (citavu). Neko moje razmisljanje je da se generise random broj (i=rand()) a zatim pogleda sta se nalazi u toj liniji i sve to isprinta na ekranu... ??

Treba u C jeziku..

Poslednja ispravka: clzola (21.10.2010 u 0:01)
clzola je offline   Odgovor sa citatom ove poruke
Stara 20.10.2010, 23:56   #2
NISAM NESTO SMART
Član
 
Član od: 14.7.2009.
Lokacija: Srbija
Poruke: 315
Zahvalnice: 53
Zahvaljeno 73 puta na 54 poruka
Slanje poruke preko MSN-a korisniku NISAM NESTO SMART
Određen forumom Re: Citanja iz nekog txt fajla

U kom jeziku?

Ako je u c++ mozes ovako:

Kod:
ifstream reci;

reci.open("reci.txt");

string rec;
string izabrana_rec;
int broj_reci = 0;
while(getline(reci,rec))
{
if((rand()%++broj_reci)==0)
izabrana_rec = rec;
}
To sam koristio za vesala, sad nisam siguran koliko je to pouzdano
NISAM NESTO SMART je offline   Odgovor sa citatom ove poruke
Stara 20.10.2010, 23:58   #3
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Citanja iz nekog txt fajla

otvoris fajl (duplim klikom na isti) odaberes nasumice jednu liniju, procitas je.


a mozda si mislio kako to da uradis u kodu programa ? onda bi mogao bar da navedes u kom jeziku radis, da znamo sta je dostupno a sta ne.

mirc recimo u svom skripting jeziku ovo resava jaaaako lako $read("fajl.txt") samo po sebi cita nasumicnu liniju iz tog fajla.


dok ces u drugim jezicima morati da proveris koliko je fajl dugacak, da bi znao kakav nasumicni broj da generises, a zatim procitas odgovarajucu liniju.


npr, u C# bi ja to uradio ovako nekako (nabrzinu)
Kod:
var sr = System.IO.File.OpenText("fajl.txt");
string[] linije = sr.ReadToEnd().Split('\n');
string linijaKojaTiTreba = linije[new Random().Next(0,linije.length)].Replace('\r','');
irreal je offline   Odgovor sa citatom ove poruke
Stara 21.10.2010, 0:00   #4
clzola
Član
 
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
Određen forumom Re: Citanja iz nekog txt fajla

Jao izvinjavam se, moja greska treba u C jeziku (ispravicu u gornjem postu)
clzola je offline   Odgovor sa citatom ove poruke
Stara 21.10.2010, 21:36   #5
clzola
Član
 
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
Određen forumom Re: Citanja iz nekog txt fajla

Uspio sam da napisem kod da procita citav fajl, e sad mene treba ta jedna linija.
Kako sam ja shvatio, fgets() cita jednu liniju, a ako stavim while(!feof(pFile)) on cita liniju po liniju sve do kraja... E sad razmisljao sam kako ja mogu da iscitam jednu linju koju ja zelim.. Unesem jedan broj, e sad stavim line=1 (broj linije) i i=3 na primer...

Kada program prodje kroz petlju while, stavim da samo ako su line i i jednaki da ispise tu liniju, znaci nesto ovako

Kod:
#include <stdio.h>

main()
{
      FILE *pFile;
      char liner[81];
      int i, line=1;
      
      //Open file
      pFile = fopen("doc.txt", "r");
      
      if(pFile != NULL)
      {
               scanf("%d", &i);
               while(!feof(pFile))
               {
                    if(i == line)
                    {
                       fgets(liner, 81, pFile);
                       printf("%s", liner);
                       }
                    line++;
                    }
               }
      getch();
}
Ali ne radi bas najbolje, ispise samo prvu liniju txt fajla, i stane, kao da zablokira ... :/
Help
clzola je offline   Odgovor sa citatom ove poruke
Stara 21.10.2010, 22:45   #6
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Citanja iz nekog txt fajla

Citat:
clzola kaže: Pregled poruke
Uspio sam da napisem kod da procita citav fajl, e sad mene treba ta jedna linija.
Kako sam ja shvatio, fgets() cita jednu liniju, a ako stavim while(!feof(pFile)) on cita liniju po liniju sve do kraja... E sad razmisljao sam kako ja mogu da iscitam jednu linju koju ja zelim.. Unesem jedan broj, e sad stavim line=1 (broj linije) i i=3 na primer...

Kada program prodje kroz petlju while, stavim da samo ako su line i i jednaki da ispise tu liniju, znaci nesto ovako

Kod:
#include <stdio.h>

main()
{
      FILE *pFile;
      char liner[81];
      int i, line=1;
      
      //Open file
      pFile = fopen("doc.txt", "r");
      
      if(pFile != NULL)
      {
               scanf("%d", &i);
               while(!feof(pFile))
               {
                    if(i == line)
                    {
                       fgets(liner, 81, pFile);
                       printf("%s", liner);
                       }
                    line++;
                    }
               }
      getch();
}
Ali ne radi bas najbolje, ispise samo prvu liniju txt fajla, i stane, kao da zablokira ... :/
Help
pobogu, pogledaj taj kod :S

ako i nije == line, fgets nikada nije pozvan, i samim time petlja se nikada ne zavrsava. fgets se ne zove, fajl se ne cita, end of file nikada ne dolazi.

moras da zoves fgets u svakom prolazu petlje, a samo ako je i == line, da ispises to sto je fgets vratio.


mislim, na stranu sto ovo nije najjednostavniji najbolji nacin da citas jednu liniju, samo ti pokazujem rupu u tvojoj logici.
irreal je offline   Odgovor sa citatom ove poruke
Stara 21.10.2010, 23:30   #7
clzola
Član
 
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
Određen forumom Re: Čitanje iz nekog txt fajla

jes, jbg promakne nesto ucim ovaj C evo zadnjih mjesec dana ....
clzola je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Izdvajanje fajla iz ZIP formata, problem Hamza_Mujanovic Aplikativni softver 2 2.3.2009 15:34
[PHP] UTF-8 iz običnog tekstualnog fajla mr.marvin Serverske aplikacije i baze podataka 3 26.1.2008 14:05
Figurice iz horror filmova jeftino dodgeme Zanimljive Web lokacije 0 19.8.2006 17:39
Čitanje pola avi fajla pezzilla Video/TV softver 15 14.6.2006 1:56
Vatra - Plamen iz kamina, divx ili slicno, za PS2/PC Eni Aplikativni softver 0 13.5.2006 16:22


Sva vremena su po Griniču +2 h. Sada je 16:05.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com