Pagini: 1 [2] 3 4 ... 6   În jos
  Imprimă  
Ajutor Subiect: 046 Text  (Citit de 43554 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #25 : Martie 16, 2006, 21:24:41 »

oricum, este recomandat sa nu folositi streamuri pentru citire/scriere, nu sunt foarte rapide..
Memorat
tomescu_alin
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 3



Vezi Profilul WWW
« Răspunde #26 : Martie 17, 2006, 14:38:36 »

in cazul acesta ce se recomanda pentru citirea rapida caracter cu caracter sau linie cu linie... stdio.h cumva? cu functia fget()? mie mi se pare mult mai comod de folosit streamuri... pacat ca sunt mai lente...  Sad
Memorat

Life has to end, love doesn't !
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #27 : Martie 17, 2006, 15:26:26 »

Citat din mesajul lui: tomescu_alin
in cazul acesta ce se recomanda pentru citirea rapida caracter cu caracter sau linie cu linie... stdio.h cumva? cu functia fget()? mie mi se pare mult mai comod de folosit streamuri... pacat ca sunt mai lente...  Sad

Ar trebui sa citesti mai mult pe forum inainte sa intrebi! Vezi ce a scris cristi8 (,) 8 posturi mai sus!
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
bvali
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 8



Vezi Profilul WWW
« Răspunde #28 : Aprilie 05, 2006, 13:16:31 »

Am facut citirea intr-un pointer char... ex. declarat char *sir si apoi citit cu sir = fgets(sir, 1024, fin); ... apoi facut cu strtok si alea alea, pe Borland C++ 3.1 imi merge perfect, pe gcc imi da Runtime Error - Invalid Memory Reference si nu imi dau seama unde am bushit-o. Help someone...
Memorat

Ce poti face azi, lasa pe maine, ca poate poimaine nu mai trebuie facut.
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #29 : Aprilie 05, 2006, 13:24:05 »

nu stiu daca am intels exact.. dar ia incearca declararea: char sir[1024];
Memorat
bvali
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 8



Vezi Profilul WWW
« Răspunde #30 : Aprilie 05, 2006, 15:26:05 »

nu pot sa fac asta pentru ca eu din cate stiu pe stiva pot aloca doar 1MB si in plus eu personal nu mai stiu cum sa ies din while-urile pe care le am acolo care se opresc din executie in momentul in care strtok si fgets isi pierd obiectul muncii si imi returneaza NULL.
Memorat

Ce poti face azi, lasa pe maine, ca poate poimaine nu mai trebuie facut.
points_hunter
Strain
*

Karma: -7
Deconectat Deconectat

Mesaje: 26



Vezi Profilul
« Răspunde #31 : Aprilie 05, 2006, 22:40:42 »

Invalid m. ref. iti da cand ai vectorii prea mici si citesti intr-o
zona de memorie care nu exista.Asta cu siguranta
Despre NULL nu stiu ce sa spun, dar nu stiu cum ai reusit sa umpli stiva:
Incearca sa faci asta in main:
daca ai un pointer *p :   p=new char[100..0] si vezi daca merge...
In rest algoritmul e simplu.
Da' nu-stiu de ce va complicati sa cititi in tipuri structurate de date ca
vectori,pointeri, etc si folosirea unor fct. ca strtok sau etc.
Pt a cauta sau a accesa un element un element intr-un vector consuma foarte
mult timp, mai ales daca e mare( In enunt nu-ti da lungimea unui rand).
Pur si simplu citesti caracter cu caracter fara nici un vector sau altceva,
cu complexitate liniara.
Succes!!! Very Happy
Memorat

Intr-o lume plina de prostie si noobism
Ceva mai increzator, putin mai oportunist
Nihil sine DEO(Iubeste si vei fi iubit , Nu uita niciodata ca esti om)
bvali
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 8



Vezi Profilul WWW
« Răspunde #32 : Aprilie 06, 2006, 10:08:09 »

Wink) okay, io am facut asa pt. ca imi facea cu ochiul strtok si pt. ca n-am mai folosit-o pana acum si pt. ca era mai elegant Very Happy
Dar trecem la char-by-char Very Happy

Later edit: am facut char by char si mi-a iesit 90 puncte. La testul 9 am WA. Aveti vreo sugestie?
si asa de curiozitate am debugged si aia cu strtok si mi-au iesit 70 de puncte.
« Ultima modificare: Aprilie 11, 2006, 13:55:17 de către bvali » Memorat

Ce poti face azi, lasa pe maine, ca poate poimaine nu mai trebuie facut.
Tabara
Nu mai tace
*****

Karma: 20
Deconectat Deconectat

Mesaje: 216



Vezi Profilul
« Răspunde #33 : Decembrie 29, 2006, 05:47:30 »

Eu iau 60 pe problema asta si nu prea inteleg ce gresesc. Eh?
In plus, cu evaluatorul asta nou, nici nu mai vad ce teste nu iau.

Eu am facut asa:
Cod:
....
string s;

while ( !fin.eof() )
    {
            if ( fin.peek() == ' ' )
            {
"                 fin.get();
                 s += ' ';
            }
            else
            {
                fin >> ch;
                s += ch;
            }
    }
for ( i = 0; i < s.size(); ++i )
    {
          if ( isalpha( s[i] ) || s[i] == ' ' || s[i] == '-' ) rez += s[i];
    }
iar apoi am mai luat inca un string in care am despartit cum trebuie cuvintele.( pt cazurile cu cratima.de exemplu cuvantul "lasa-ma" )
Iar apoi am facut asa:
Cod:
istringstream st;
    st.str( prov );
    string ss;
    while ( st >> ss )
    {
            sol.push_back( ss );
    }
    for ( j = 0 ;j < sol.size(); ++j )
    {
            lungime += sol[j].size();//fout << sol[j] << " ";
            nrc++;
    }
    ok = (int)(lungime/nrc);
    fout << ok << "\n";
Am citit ce s-a postat pana acuma pe forum, insa nu prea am prins alte idei pentru ceea ce am facut eu.Daca are cineva o idee, va rog sa ma ajutati


[Later edit] Am luat 100 cu algorimutl ala naiv.Totusi, as vrea sa stiu ce greseam aici.....daca stie cineva va rog sa imi spuneti  sad
« Ultima modificare: Decembrie 29, 2006, 06:35:15 de către Tabara Mihai » Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #34 : Decembrie 29, 2006, 18:11:47 »

poti sa vezi ce teste nu iei dand click pe punctaj dupa ce se termina evaluarea  Ok
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Tabara
Nu mai tace
*****

Karma: 20
Deconectat Deconectat

Mesaje: 216



Vezi Profilul
« Răspunde #35 : Decembrie 29, 2006, 19:21:30 »

poti sa vezi ce teste nu iei dand click pe punctaj dupa ce se termina evaluarea  Ok

NU e vorba de asta. Ok
Nu mergea evaluatorul...imi dadea ceva eroare ca nu gaseste link-ul catre monitorul care trebuia sa imi afiseze rezultatul....
Acuma am vazut.Iau WA pe 4 teste Whistle
Memorat
Adrian001
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #36 : Ianuarie 10, 2007, 20:58:55 »

Fiti atenti la parcurgerea fisierului de intrare. Sa parcurgeti pana la sfarsitul fisierului nu pana la sfarsitul liniei. Eu am parcurs pana la sfarsitul liniei si am luat 40 de pct iar dupa aceea pana la sfarsitul fisierului si am luat 100 asa ca succes!!.
Memorat
edu2004eu
Strain


Karma: -6
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #37 : Martie 02, 2007, 23:36:23 »

Imi spune si mie cineva cum pot citi caracter cu caracter, dar sa-mi citeasca si spatiile? Am incercat ceva de genul:
Cod:
[...]
FILE *in=fopen...; // restul e clar
char *words[10000];
while (fscanf(in,"%s",&words)!=EOF){
[...]
}

Dar asa nu-mi citeste spatiile. Am incercat si cu fgets, dar asa nu mai e caracter cu caracter... Ma poate ajuta cineva?
Multumesc!
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #38 : Martie 02, 2007, 23:55:33 »

Poti sa citesti cu scanf("%c", &character) cat timp nu ai ajuns la sfarsitul fisierului.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #39 : Martie 02, 2007, 23:56:10 »

fgetc citeste un caracter din stream.. indiferent daca e spatiu sau '\n' (new_line)
fgets citeste o linie din stream (citeste n-1 caractere sau pana da de '\n'; ce conditie se indeplineste prima)

Deci daca vrei caracter cu caracter, incearca fgetc sau fscanf(in, "%c", &caracter); cu %s citesti cuvinte
Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #40 : Martie 18, 2007, 22:44:11 »

Imi puteti spune dupa si inainte de care caractere sunt puse spatiu pentru ca nu pot da cu presupusul ca asa iau doar 30 puncte  sad, iar algoritmul meu se bazeaza pe lucrul asta. Multumesc de ajutor!
Memorat
Tabara
Nu mai tace
*****

Karma: 20
Deconectat Deconectat

Mesaje: 216



Vezi Profilul
« Răspunde #41 : Martie 18, 2007, 23:00:27 »

Imi puteti spune dupa si inainte de care caractere sunt puse spatiu pentru ca nu pot da cu presupusul ca asa iau doar 30 puncte  sad, iar algoritmul meu se bazeaza pe lucrul asta. Multumesc de ajutor!

Poi daca ai facut cu separatori, pune toate caracterele care crezi ca ar putea aparea.
"`~1234567890!{@#$%^&**()-}|":+?=><,./;'[]\"

Oricum, in caz ca nu iti iese, merita sa faci cu algoritmul acela naiv din solutie ca nu scrii mai mult de 10 linii de cod in total.
 Thumb up
« Ultima modificare: Martie 18, 2007, 23:02:00 de către Tabara Mihai » Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #42 : Martie 19, 2007, 19:10:17 »

Mersi Mihai. Sper sa reusesc cu varianta asta. Daca nu, m-am mai gandit la una, dar nu vreau sa renunt la prima inca.
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #43 : Martie 26, 2007, 20:13:21 »

Problema in sine este foarte usoara. Este nevoie sa citesti cu fscanf(f,"%c",&character) si sa verifici daca este o litera (atentie: poate fi si mica si mare)....in rest de tinut contoarele e  simplu.....e algoritm de cateva linii..am luat 100 Whistle
Memorat
razyelx
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #44 : Aprilie 01, 2007, 23:05:53 »

iau doar 90 de pct pe pb ... am WA la testul 9 care mapoate ajuta pls.. Brick wall nu mai stiu ce sa fac
Memorat
Bluedrop_demon
Client obisnuit
**

Karma: -3
Deconectat Deconectat

Mesaje: 66



Vezi Profilul
« Răspunde #45 : Aprilie 01, 2007, 23:26:09 »

Incearca sa dai un test programului tau de forma:
" ==  lasa-   a" fara ghilimele si fara nici un caracter (deci si fara ENTER) dupa ultimul "a". Cel mai probabil crapa sau da un rezultat gresit. De ex. daca citesti caractere din randul literelor fara sa si verifici sa nu fi ajuns la sf fisierului crapa.
Sper ca am fost de folos. Multa bafta!  Thumb up
Memorat
razyelx
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #46 : Aprilie 02, 2007, 16:30:07 »

ms mult ai avut dreptate la aia nu m-amgandit. Sincer nu vrea sa fiu nepoliticos cu adminii dar mi se poate explica si mie cum de o propozitie nu se termina cu un semn de punctuatie si cu o litera... verificati testul 9 e cam ilogic. Inca o data sper sa nu fiu prea naspa...
Memorat
DITzoneC
Nu mai tace
*****

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« Răspunde #47 : Aprilie 02, 2007, 17:05:34 »

Nu zicea nicaieri in enuntul problemei ca ar fi vorba de propozitii. Textul respectiv poate fi de exemplu mijlocul unei propozitii.
Memorat
razyelx
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #48 : Aprilie 02, 2007, 17:31:16 »

corect ce ziceai tu ca nu o zis ca is propoziti... dar a zis ca e text... ma rog fie...
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #49 : Aprilie 02, 2007, 17:34:57 »

nu vad cu ce este afecteactat algoritmul tau dak textul este format sau nu din propozitii. Probabil sunt teste random, deci cuvintele sunt ceva de genu "aofu sodfh uisabbvdlfvb lav basdf" so Whistle
Memorat
Pagini: 1 [2] 3 4 ... 6   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines