Jump to content

dranaxum

Active Members
  • Posts

    189
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by dranaxum

  1. dranaxum

    Heapsort

    Sursa: http://hackpedia.info/viewtopic.php?f=121&t=5311 Unul dintre cele mai rapide si stabile algoritme de sortare. O(N * log N) chiar si pentru cazurile defavorabile, fata de QSort care ajunge la O(N^2) pentru astfel de cazuri. Informatii despre HEAP (arbore binar complet) aici: http://en.wikipedia.org/wiki/Heap_(data_structure) O solutie in C: #include<stdio.h> FILE *fin=freopen("heap.in","r",stdin); FILE *fout=freopen("heap.out","w",stdout); int h[100],n;//h reprezinta vectorul in care stocam heap-ul void corecteazaheap(int i) { while(i>=2 && h[i]>h[i/2]) { //interschimbam nodul parinte cu nodul curent pentru a corecta arborele h[i]=h[i]+h[i/2]; h[i/2]=h[i]-h[i/2]; h[i]=h[i]-h[i/2]; i/=2; } } void extragere(int i) { //elementul 1 va fi cel mai mare element din vector pe [1,i] => il punem pe pozitia i, si decrementam i-ul h[1]+=h[i]; h[i]=h[1]-h[i]; h[1]=h[1]-h[i]; i--; int j=1; //corectam noul heap while(2*j<=i && (h[j]<h[j*2] || h[j]<h[j*2+1])) { int max=h[j*2]; int poz=j*2; if(max<h[j*2+1] && 2*j+1<=i) { max=h[j*2+1]; poz=j*2+1; } if(h[j]<h[poz]){ h[j]+=h[poz]; h[poz]=h[j]-h[poz]; h[j]=h[j]-h[poz];} j=poz; } } void citire() { scanf("%d",&n); int i; for(i=1;i<=n;i++) { scanf("%d",&h[i]); corecteazaheap(i);//inseram elementele in heap } fclose(fin); } void rezolva() { for(int i=n;i>=2;i--) { extragere(i); } } void afiseaza() { for(int i=1;i<=n;i++) { printf("%d ",h[i]); } fclose(fout); } int main() { citire(); rezolva(); afiseaza(); return 0; } O solutie in C++ folosind libraria STL: #include <fstream> #include <algorithm> #include <vector> using namespace std; ifstream fin("heap.in"); ofstream fout("heap.out"); vector<int> h;//vectorul care va stoca heap-ul void citire() { int n; fin>>n; for(int i=1;i<=n;i++) { int x; fin>>x; //adaugam elemente in vector h.push_back(x); } fin.close(); } void rezolva() { //cream heapul make_heap(h.begin(),h.end()); //sortam heapul sort_heap(h.begin(),h.end()); } void afiseaza() { for(int i=0;i<h.size();i++) fout<<h[i]<<" "; fout.close(); } int main () { citire(); rezolva(); afiseaza(); return 0; }
  2. Era interesant daca lasai lumea sa isi faca propria functie de decriptare sau macar daca era criptare pe baza de parola si sa ne pui sa aflam parola...
  3. asa este goly, insa mai inmulteste apoi si cu numarul de judete
  4. Nu e chiar asta o problema ci faptul ca afecteaza si calitatea viitoarelor aplicatii. In ultima vreme, cel putin pe la concursuri, se simte asta. Tot se asteapta o noua generatie de pusti de a 7a, a 8a care sa faca ceva magnific pentru varsta lor (cum era acum cativa ani in domeniul software) dar in zadar... insa speranta moare ultima.
  5. n * 100 * 26^3 unde ^ reprezinta "la puterea" iar n numarul de judete.
  6. Nu, am vorbit la general!
  7. Da, dar nu e singurul si nu va fi singurul. Deci nici nu ai de unde stii cu ce viitori "domino" vorbesti pe un forum. (doar dau sanse egale tuturor pana la proba contrarie).
  8. Vhaerun, nu fii asa de sigur, Mircea Pasoi (fost olimpic international) facea aplicatii inca de la varsta de 12 ani dar intr-adevar nu se poate pune problema ca stia la perfectie limbajul in care lucra. Stia atat cat sa se descurce. Acum nu zic ca el e un viitor Pasoi, dar nici nu ai de unde stii de unde mai apar altii ca el.
  9. moubik, mi-ai citit gandurile
  10. dranaxum

    logica

    1321132112222112
  11. Tu esti ala copil din discutie... si puteai intelege (cred) ca faza cu CV-ul a fost retorica... eu cel putin am sperat ca o sa intelegi
  12. E problema ta cum ma vezi dar faptul ca tu ai zis ca ripostezi din cauza ca eu am ripostat pe topic-ul tau mi se pare o chestie destul de imatura, mai ales faptul ca ai si mentionat faptul asta. Ce vroiai sa fac ca sa "dovedesc cunostiintele"? Vrei CV? Zic eu ca m-am comportat cat se poate de calm cu tine. Ce vroiai sa fac? Sa iti dau dreptate cand nu aveai? Vroiai sa te las cu ochii inchisi (oricum nu ai vrut sa ii deschizi)? Am vrut sa te ajut sa vezi lucrurile cum trebuie, si cred ca am mentionat asta pe topic-ul tau.
  13. Nytro, nu ma cred cel mai bun si nu cred ca am zis asta vreodata, dar consider ca am un cuvant de spus cand este vorba de discutii despre IT si nu numai IT (a se vedea fizica, mate, si unele materii ce implica putina filozofie). Cu asta vreau sa elimin dubiul ca vad numai IT in fata ochilor. SirGod asta este in Romania.. sunt destule cazuri in strainatate care au dovedit ca ce se intampla in Romania e mizerie. "nu fi sigur ca vei ajunge profesor la Harvard" .. odata ajuns la Harvard din Romania ai destula ambitie ca sa faci un doctorat acolo si in cele din urma sa devii profesor. In acelasi timp nu cred ca un programator s-ar duce la Harvard.
  14. Din cauza ca comentarile tale mi se par puerile.
  15. Nytro cati ani zici ca ai?
  16. SirGod ii apreciez pe toti cei care au aspiratii. Daca tie iti place filozofia, matematica, chimia sau orice altceva.. te apreciez. Daca nu, incerc sa ajut, insa acum s-a cam exagerat si ma gandeam sa iau o parte si am luat. Da, am preferat sa iau o parte ca printr-un fel sau altul sa il fac sa inteleaga pe Nytro ca "mancatorii de carti" pot ajunge mult mai usor sus. Faza e ca unii sunt mancatori de carti din placere.. asta el nu a inteles. Nu te judec si imi pare rau, dar nu am vrut sa te consideri inclus. Am vorbit la plural dar nu pentru tine ci in general , generic. Da, l-am inclus pe Nytro. Chestia aia chiar e adevarata si nu e zisa de parinti... hmmm nu am "13 ani" ca sa reproduc ce zic parintii. Cred ca iti dai seama daca te gandesti mai mult ca e adevarata in contextul ala. Referitor la facultate: sunt multi care fac facultate in Romania care o termina si care sunt "basca", care pot lua lectii multe de la unii de liceu. Incompetenti intr-un cuvant. Am zis cred ca de 2 ori de faza cu DownloadFile. Este poate cea mai proasta solutie pentru a downloada un fisier. Nu intotdeauna o linie inlocuieste bine 300. Acea linie te ingradeste foarte, nu ai control deloc.
  17. stii ce faci tu? Te aflii in treaba fiind pe din-afara
  18. Nytro esti culmea:)) din posturile tale se vede asta (faza cu mic) pur si simplu nu intelegi cum vor sta lucrurile in viitor. Tu ai luat faza cu 300 de linii ca pe un atac personal, poate si tw8 a cam exagerat putin. Iar faza e cu DownloadFile nu ai inteles-o. Pur si simplu NU E CALUMEA sa o folosesti din cauza ca nu poti vedea progresul facut!! Ma intreb oare ... astia, romanii care au plecat la MIT, Harvard, Princeton etc. oare nu erau tot "mancator de carti" cum ai zis tu? dude be serious !!! Dar, romanii care au fost angajati la Google, Microsoft, Yahoo etc. nu tot "mancator de carti" sunt? hmmm .... Dati-mi o paine e FIX mentalitatea romanului nervos care nu poate sa isi lase grijile acasa si nu se poate exprima frumos macar pe strada si in societate.
  19. O da... o da... si daca portul nu e deschis (al serverului)? Nu am auzit de extensia remote hmmm cel putin pe compul meu nu exista asa ceva (nu am program care sa recunosca .remote). Nytro ... eu C# tu VB intelegi? Plus ca am transfer de fisier... sau tu cand trimiti fisiere citesti tot fisierul (incarci ramul) si apoi trimiti? Eu citesc pe blocuri Nu ai luat programul
  20. Bai aberati intelegeti? ABERATI. tw8 te respect si te apreciez si nu te pup in fund din cauza ca ii respect pe cei care fug dupa concursuri si pe cei care apreciaza succesele, cei care stiu ce vor de la viata, cei care in definitiv sunt ca mine. Lasa-i in pace... sunt prea mici (deocamdata - probabil) ca sa inteleaga.. sunt cei care vor asculta de "ordinile" tale in viitor.. so chill (stiu ca e greu sa te opresti cand ai inceput dar asta e) S-ar putea sa ma aleg cu ceva nu bun dupa acest reply, dar heh .. "imi dau cu parerea". PS: Cand stii ca ai notiuni, succese etc. e normal sa dai sfaturi, sa iti dai cu parerea si sa ai dreptate si e si mai normal sa mentionezi putin din cate stii ca poate poate celalalt va intelege cu cine vorbeste
  21. Hmm inainte se facea cu 2 linii in .net . Voi atacati limbajul cand defapt ce iti da posibilitatea folosirii acelor functii e .NET. Problema care apare este ca nu poti face utilizand acea instructiune un progressbar, sa vezi cat a downloadat, pentru acest lucru iti trebuie mai mult de 1 linie de cod.. vreo 20 cam asa. tw8 vrea 300? hmm cam multicel pt un download file anyway cred ca ai exagerat acolo cu 300. Sunt pareri impartite in legatura cu limbajele si nu e nevoie sa incepem aici o cearta (SI AICI) despre asta. Ce a zis tw8, insa, e adevarat. Nu trebuie sa postezi tot ce are .NET pe un forum deoarece e cam inutil (se afla deja pe MSDN). Aaaa da, ar fi fost ceva bun, daca ai fi intrebat cum poti face un download de fisier si in acelasi timp sa iti afiseze si cat s-a downloadat. Asta e altceva... (ca tot veni vorba, se foloseste WebClient). Ma abtin la ce va rezerva viitorul din cauza ca parerile sunt si aici impartite.
  22. "ce dracu e aia "braincode",nu o lua in nume de rau dar esti un fel de rambo al programarii?" <-- o hmm .. constatare care ma inspira si ... este foarte profunda. M-ai lasat fara cuvinte. Are 100% legatura cu program creat. Hai totusi sa ne comportam matur si sa vorbim in cunostiinta de cauza, nu pe din-afara. (asta cred ca o sa cer la infinit...) Hmm echipa e treaba mea... si s-a decis sa facem programe individual pentru "braincode". "pune ti echipa la munca!" Auzi, cumva vorbesti din experienta? (gandeste-te bine la sensul intrebarii si apoi raspunde). Apropo, nu ca as lua apararea cuiva, dar stii tu sa faci teste la limita? Teste din alea care sa iti dea peste cap toate calculele. (sa zicem ca nu e in discutie acest program din cauza ca nu prea a fost cazul de teste care pot sa dea peste cap totul). Hmmm e destul de grea CATEODATA treaba de tester... ca nu degeaba si infoarena.ro are echipa care face teste pentru problemele alea. (sa nu-mi zici ca si infoarena e prea varza pentru cunostintele tale) Hai te rog nu mai rade atata ca nu ai de ce... ai postat pur si simplu pentru "a new post". Inca ceva .. zi-mi si tu care e sensul sa fac astfel de program in echipa, cand e vorba de DOAR 400 linii pentru client respectiv pentru server. Ti se pare mult? Mie mi se pare infim!
  23. O sa ma uit, oricum cred ca raman pe Console.Out ca sa iau outputul.
  24. tw8... ne trebuia un proiect repede. Nu am mai stat atat de mult la coding din motive evidente, fiecare are propriile proiecte. Echipa hmm no comment. Hmm m-am bazat mai mult pe idee. Nu cred ca exista prea multe programe de remote control care sa iti lase lejeritatea de a executa comenzi cmd. Stiti cateodata ideea poate reprezenta mai mult de 60% dintr-un program . Ok, vedem ce fac cu urmatoarea versiune, care va intarzia destul din cauza ca nu prea am timp disponibil pentru acest proiect. Repede si eficient .. zic eu ca mi-am atins scopul. Ca se poate duce la alt nivel asta vom vedea in viitor.
  25. Aaaa la asta te refereai. Da pai outputul e afisat serverului . O sa fac sa afiseze si clientului. Ti-am zis cum faci ca sa obtii outputul (deocamdata): scrii in fisier outputul si il transferi.
×
×
  • Create New...