Pagini: [1] 2   În jos
  Imprimă  
Ajutor Subiect: 478 Dir  (Citit de 9480 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
DITzoneC
Nu mai tace
*****

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« : August 14, 2007, 10:34:11 »

Aici puteţi discuta despre problema Dir.
Memorat
ionescu88
Strain


Karma: -18
Deconectat Deconectat

Mesaje: 16



Vezi Profilul
« Răspunde #1 : Octombrie 17, 2007, 20:48:56 »

SAlut!!!!! am facut problema dir, in felul urmator: am parcurs sirul de la inceput si de fiecare data cand am dat de un folder il bag in stiva si cand dau de un fisier scot folderele care au mai ramas in stiva si le memorez intr-un vecotr rez.........caile imi dau toate corect numa ca am o problema la sortarea lexicografica ca nush cum se face...adica nu inteleg.....cine ma poate ajuta pls?
Memorat
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #2 : Octombrie 17, 2007, 21:27:33 »

Parca aveai ceva in genu FOLDER(basm, aa, poveste). Tre sa afisezi FOLDER(aa, basm, poveste). Poti face asta cu bubble sort... Daca lucrezi in C poti folosi strcmp pentru compararea a2-a siruri sau echivalentul din pascal(cauta pe google daca vrei detalii).. Cauta bubble sort(sau orice alta sortare).
Memorat

....staind....
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #3 : Octombrie 17, 2007, 21:31:56 »

poti sa faci urmatorul algoritm:

pentru doua cuvinte cu indicii i si j (i < j) cauta o pozitie p pentru care, caracterele din cele doua siruri sunt diferite. daca litera din cuvantul i, de pe acea pozitie, e mai mare decat cea din cuvantul j, de pe acea pozitie, atunci interschiba cele doua cuvinte (i trece in locul lui j si j trece in locul lui i).

Cod:
for (i = 0; i < nrez; i++)
       for (j = i+1; j < nrez; j++)
       {
              min = MINIM(LungimeCale[i], LungimeCale[j]);
              for (k = 0; k < min; k++)
                     if (Cale[i][k] > Cale[j][k])
                             //interschimb cele doua cai
        }

pentru a evita o complexitate prea mare poti sa aplici urmatoarea optimizare: in loc sa interschimbi tot cuvantul, mai bine interschibi niste indici. construiest vectorul Indice[ i ] = al i-lea cuvant (dupa indice) din sortarea lexicografica. initial presupui ca Indice[ i ] = i (adica presupui caile sortate). codul de mai sus devine :

Cod:
for (i = 0; i < nrez; i++)
       for (j = i+1; j < nrez; j++)
       {
              min = MINIM(LungimeCale[ Indice[i] ], LungimeCale[ Indice[j] ]);
              for (k = 0; k < min; k++)
                     if (Cale[ Indice[i] ][k] > Cale[ Indice[j] ][k])
                               aux = Indice[i], Indice[i] = Indice[j], Indice[j] = aux;
        }

la sfarsit vei avea: Indice[0] - indicele primul cuvant in ordine lexicografica, Indice[1] - al doilea cuvant in ordine lexicografica, ...., Indice[N-1] al N-lea cuvant in ordine lexicografica.
« Ultima modificare: Octombrie 17, 2007, 21:37:14 de către Bogdan A. Stoica » Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
ionescu88
Strain


Karma: -18
Deconectat Deconectat

Mesaje: 16



Vezi Profilul
« Răspunde #4 : Octombrie 18, 2007, 15:03:00 »

Sa presupunem ca se da urmatorul sir FOLDER1(basme,FOLDER5(),FOLDER6(snoava),FOLDER2(),FOLDER3(FOLDER4(poveste,basm),basm))..dupa cum am sortat eu imi da:
5
FOLDER1\basme
FOLDER1\FOLDER6\snoava
FOLDER1\FOLDER3\FOLDER4\basm
FOLDER1\FOLDER3\FOLDER4\poveste
FOLDER1\FOLDER3\basm
DAR REZULTATUL CORECT este :
5
FOLDER1\FOLDER3\FOLDER4\basm
FOLDER1\FOLDER3\FOLDER4\poveste
FOLDER1\FOLDER3\basm
FOLDER1\FOLDER6\snoava
FOLDER1\basme

Cine ma ajuta sa imi spuna cum pot repara greseala!!!!!

Memorat
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #5 : Octombrie 18, 2007, 16:34:02 »

ordinea literelor reprezentate in memoria calculatorului este:

litere:           'A' < 'B' < .... < 'Z' < 'a' < 'b' < .... < 'z'
coduri ASCII: 65    66          90     97   98          122


in exemplul tau, consideri ca 'b' < 'F' ceea ce este fals, conform tabelului ASCII.
Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #6 : Octombrie 18, 2007, 16:36:08 »

 Think cum faci sortarea? descrie un pic principiul
Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #7 : Octombrie 18, 2007, 16:53:39 »

dubios, dar totul e bine cand se termina cu un max Very Happy
Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #8 : Octombrie 18, 2007, 17:06:46 »

sigur. ti l-am trimis intr-un mesaj privat.
Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
anna_bozianu
De-al casei
***

Karma: 5
Deconectat Deconectat

Mesaje: 111



Vezi Profilul
« Răspunde #9 : Decembrie 18, 2007, 19:26:05 »

Va rog sa imi dati doua precizari legate de fisierul de intrare :
1) Linia din fisierul de intrare se termina cu "\n" ?
2) Linia din fisirerul de intrare poate sa contina spatii?
Multumiri.  Rolling Eyes


Nu mai e cazul. Intre timp am rezolvat problema si am descoperit :
1) linia se termina cu '\n'
2) linia nu contine spatii
« Ultima modificare: Decembrie 18, 2007, 21:28:52 de către Bozianu Ana » Memorat
Robytzza
De-al casei
***

Karma: -49
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #10 : Decembrie 28, 2007, 15:21:00 »

dati si mie un input mai aiurea sa vad ce gresesc,ca pe testele mele da bine Sad sad
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #11 : Decembrie 28, 2007, 15:27:58 »

Ai putea sa vezi testele de la oji 2007.  Smile
Memorat
Robytzza
De-al casei
***

Karma: -49
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #12 : Decembrie 28, 2007, 15:30:02 »

 Aha  ms Very Happy  Applause
Memorat
Robytzza
De-al casei
***

Karma: -49
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #13 : Decembrie 28, 2007, 15:46:27 »

am vazut ce greseam puneam / in loc de \ insa nushtiu cum sa pun doar un \ help
multumesc anticipat Rolling Eyes
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #14 : Decembrie 28, 2007, 15:47:51 »

printf("\\");
Memorat
ciprianf
De-al casei
***

Karma: 11
Deconectat Deconectat

Mesaje: 104



Vezi Profilul
« Răspunde #15 : Martie 19, 2008, 22:02:47 »

Am si eu o problema. am facut bine merci problema, merge pe toate testele mele + cele de la oji de 100 p. numai ca aici cand trimit sursa iau KBS 11. Am citit cam ce ar insemna acest KBS11 din "documentatie" dar am avut grija sa nu accesez memorie nepermisa, am declarat vectorii suficienti de largi, totul ar trebui sa fie ok, dar nu e! Ma poate ajuta si pe mine cineva?

Later Edit: Never Mind, am rezolvat.sincer nu prea stiu ce avea...doar m-am jucat putin cu lungimea vectorilor. PS daca depasesc limita de memorie se poate sa iau KBS?
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #16 : Martie 19, 2008, 22:17:38 »

PS daca depasesc limita de memorie se poate sa iau KBS?

Da.  Smile
Memorat
f.v.anton
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 35



Vezi Profilul
« Răspunde #17 : Noiembrie 04, 2008, 12:26:05 »

imi da eroare pt functia strrev. Why?
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #18 : Noiembrie 04, 2008, 17:04:29 »

Functia strrev nu face parte din standardul C. Poti foarte usor sa scrii o varianta proprie, de mana Thumb up
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Robybrasov
Strain
*

Karma: 3
Deconectat Deconectat

Mesaje: 33



Vezi Profilul
« Răspunde #19 : Iunie 18, 2009, 16:54:58 »

mi-am evaluat programul cu testele de la oji, si imi intra lejer in timp sub 4ms si memorie sub 16kb pe toate testele. aici vad ca imi da tle pe toate, desi restrictiile datelor de intrare sunt aceleasi ca la oji. gresesc eu undeva si nu-mi dau seama?
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #20 : Iunie 18, 2009, 17:27:25 »

M-am uitat pe timpii tai, si banuiesc ca iti intra in ciclu infinit. Sursa mea a luat 4 ms/test, maxim. Vezi ca functiile pt siruri de caractere se comporta diferit pe linux fata de windows. Ai grija ce faci cu '\n'-urile citite, ar fi bine sa pui '\0' la sfarsitul fiecarui sir [ si atunci cand scazi nivelul stivei, sa faci NULL si sirul corespunzator nivelului ]. Am vazut ca ai si un warning. Poate e de acolo. Nu prea are ce sa fie... Spor! 
Memorat
Robybrasov
Strain
*

Karma: 3
Deconectat Deconectat

Mesaje: 33



Vezi Profilul
« Răspunde #21 : Iunie 18, 2009, 18:09:34 »

Pe linux am lucrat si imi merge perfect. M-am folosit de evaluatorul lui sandyxp si de testele oficiale de la oji.
Da, de fiecare data cand am coborat am pus 0 pe acel nivel, si citesc cu fgets, si am fost atent si la '\n'-uri.

L.E: S-a rezolvat. Problema a fost ca eu citeam cu fgets sirul de intrare. Cand am citit caracter cu caracter a mers. Dubios, oare ce-o fi avand fgets? Confused
« Ultima modificare: Iunie 19, 2009, 09:37:30 de către Robert Hangu » Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #22 : Iunie 18, 2009, 19:45:32 »

Atunci, vezi poate e de la warningul asta: array subscript has type 'char'. Vezi sa faci convertire cand apelezi vector[caracter] ( ceva de genu: vector[(int)caracter] ).  Eu am facut citirea caracter cu caracter... Chiar nu stiu ce poate sa aiba...  Think
Memorat
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #23 : Decembrie 14, 2009, 16:58:27 »

ma chinui de 2 zile la www.infoarena.ro/problema/dir si iau doar 60 de puncte (testele 6-9 inclusiv) sunt gresite.m-am uitat pe testele de la oji..... problema e ca nu imi parcurge toate folderele, la testele astea mai mari, si nu am cum sa ma corectez.puteti sa-mi dati vreun exemplu va rog , sa testez daca imi merge bine. chiar nu stiu, nu imi dau seama ce nu e in regula...poate am uitat vreun caz particular sau ceva?  Brick wall
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #24 : Decembrie 14, 2009, 17:51:44 »

Fiecare problema de pe site are un topic destinat discutiilor pe marginea ei. Pune intrebarile acolo, sa poata castiga toata lumea de pe marginea sfaturilor date!
Memorat

Am zis Mr. Green
Pagini: [1] 2   În sus
  Imprimă  
 
Schimbă forumul:  

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