Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/20/11 in all areas

  1. unii vor considera asta o lauda...insa cred ca persoanele mature o vor vedea altfel.Oricum,I don't care! Am reusit sa castig de la Mozilla,Google si Facebook nu mai putin de 8 mii de dolari in 5 luni jumate. In linkurile de mai jos veti putea observa si numele meu scris in lista contribuitorilor Google Security Hall of Fame ? Company https://www.facebook.com/whitehat Prin asta vreau doar sa va fac sa intelegeti un singur lucru.Uneori nu merita sa faceti full disclosure pe forumuri,bloguri etc.. sau chiar deface la munca unor nevinovati si toate astea cu impresia ca veti iesi in evidenta.E o prostie!
    1 point
  2. Asteaptai noaptea cite pe unu' si ii dai jos cu electroshokerul apoi le dai foc sau maninci cadavrul(sa nu ramine urme)
    1 point
  3. Aceasta este o implementare simpla in c++ a algoritmului lui Levenshtein pentru a masura diferentele intre 2 cuvinte. Implementarea are la baza pseudo codul de pe pagina wiki de aici M-am gandit sa postez aceasta implementare deoarece din cautarile mele alte implementari erau un pic mai complicate. Implementarea este o copie stricta dupa acel pseudo cod, singura adaugire este ca in loc sa returneze numarul de modificari necesare, el returneaza un "procent" de similaritate intre 100% si 0 %; Daca doriti sa le folositi nu trebuie decat sa adaugati cele 2 fisiere de mai jos la proiectul vostru. dist.h #ifndef DIST_H_INCLUDED #define DIST_H_INCLUDED /////////////////////////////////////////////////////////////////////////// //Aceasta functie preia 2 stringuri si le compara la nivel sintactic. // //Returneaza o valoare de tip double intre 0 si 100 in functie de cat // //de asemanatoare sunt cuvintele. // //Aceasta are la baza algoritmul lui Levenstein, implementarea se face // //pe baza pseudocodului de la adresa urmatoare // //http://en.wikipedia.org/wiki/Levenshtein_distance // /////////////////////////////////////////////////////////////////////////// #include <iostream> #include <string> using std::string; using std::cout; using std::endl; using std::min; double dist(string s1, string s2); #endif // DIST_H_INCLUDED dist.cpp /////////////////////////////////////////////////////////////////////////// //Aceasta functie preia 2 stringuri si le compara la nivel sintactic. // //Returneaza o valoare de tip double intre 0 si 100 in functie de cat // //de asemanatoare sunt cuvintele. // //Aceasta are la baza algoritmul lui Levenstein, implementarea se face // //pe baza pseudocodului de la adresa urmatoare // //http://en.wikipedia.org/wiki/Levenshtein_distance // /////////////////////////////////////////////////////////////////////////// #include "dist.h" double dist(string s1, string s2) { int num1 = s1.size(); int num2 = s2.size(); double array[num1 + 1][num2 + 1]; if(num1 == 0) { cout << "Primul string e gol.\n"; cout << "Nu se poate face comparatia.\n"; cout << endl; } else if(num2 == 0) { cout << "Al doilea string e gol.\n"; cout << "Nu se poate face comparatia.\n"; cout << endl; } else { for(int i = 0; i <= num1; i++) { array[i][0] = i; } for(int j = 0; j <= num2; j++) { array[0][j] = j; } for(int i = 1; i <= num1; i++) { for(int j = 1; j <= num2; j++) { if(s1[i - 1] == s2[j - 1]) { array[i][j] = array[i - 1][j - 1]; } else { array[i][j] = min(((array[i - 1][j] + 1)), (min((array[i][j - 1] + 1), (array[i - 1][j - 1] + 1)))); } } } } return (1.0 - (array[num1][num2] / min(num1, num2))) * 100; } Daca aveti de adaugat ceva, postati va rog.
    1 point
  4. prinzi tupeu dupa ce asculti un "are you dead yet?", ii dai o palma si un pumn mai sanatos dupa care nu mai ai treaba cu el in viata ta.asta daca nu vine cu gasca.in cazu in care vine, ar trebui sa chemi si tu o droaie mare de rocheri si se potoleste.cel putin in liceu la mine functiona faza asta...cand un cocalar vede lanturi multe si bate (e de preferinta sa ai prieteni bikeri sau metalisti) se fac verde. daca cedezi o sa ajungi curva lor si o sa ai probleme pe tot parcursul liceului. ori te impui ori ajungi bataia de joc a sm3k3ryl0r.
    1 point
  5. Poate unii se intreaba. Bine, bine, dar la ce foloseste? Pai, google foloseste asta tot timpul sa va corecteze greselile. public class Corector { static int tempAbat[]=new int[65]; static int tempFrecv[]=new int[65]; static String tempString[]=new String[65]; public static void dist(String st1, final int len1,String st2, final int len2,final int frecventa) { /* M-am folosit de distanta Levenshtein (wiki) * Am optimizat ca sa imi calculeze nu doar pentru cuvant, ci si pentru * toate sufixele unui cuvant (folosind niste variabile statice) */ int[][] d=new int[len1+1][len2+1]; int i,j; for(i=0;i<=len1;i++) { d[i][0]=i; } for(i=0;i<=len2;i++) { d[0][i]=i; } for(i=1;i<=len1;i++) { if(i>=18) {tempAbat[i-1]=i; continue;} // Nu are rost sa calc. for(j=1;j<=len2;j++) { d[i][j]=Math.min(Math.min(d[i-1][j]+1,d[i][j-1]+1),d[i-1][j-1]+((st1.charAt(i-1)==st2.charAt(j-1))?0:1)); } if(d[i][len2]<tempAbat[i-1] || // Are abaterea mai mica? ((d[i][len2])==tempAbat[i-1] && tempFrecv[i-1]<frecventa)) // Daca o are egala, are frecventa mai mica? { tempAbat[i-1]=d[i][len2]; tempFrecv[i-1]=frecventa; tempString[i-1]=st2; } } } public static void corecteazaUnCuvant(String st1, final int len1,String []cuvinte,int[] frec) { for(int i=0;i<cuvinte.length;i++) dist(st1,len1,cuvinte[i],cuvinte[i].length(),frec[i]); } public static void main(String[] args) throws java.io.FileNotFoundException, java.io.IOException { // Citirea de la tastatura + dictionar java.util.Scanner cit=new java.util.Scanner(System.in); String decorectat=cit.nextLine(); String[] cuvinte=new String[8000]; int[] frec=new int[8000]; int i=0; java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.FileReader("dict.txt")); String text=null; while ((text = reader.readLine()) != null) { String[] tokens=text.split(" "); cuvinte[i]=tokens[0]; frec[i]=Integer.parseInt(tokens[1]); i++; } decorectat=decorectat.replace(" ", ""); // Scot spatiile java.util.Arrays.fill(tempAbat, 63); // Abateri partiale (cuvinte) java.util.Arrays.fill(tempFrecv, -1); // Frecvente partiale int lungimeSir=decorectat.length(); // Imi construiesc 3 matrici (abateri, frecvente, stringuri) // Ex: matriceAbateri[j][i] = Abaterea fata de dictionar a cuvantului // citit de la tastatura (de la poz i la j) int[][] matriceAbateri=new int[lungimeSir+1][lungimeSir+1]; int[][] matriceFrecvente=new int[lungimeSir+1][lungimeSir+1]; String[][] matriceStringuri=new String[65][65]; int j; int t=0; for(i=0;i<lungimeSir;i++) { corecteazaUnCuvant(decorectat.substring(i,lungimeSir),lungimeSir-i,cuvinte,frec); t=0; for(int k=i;k<=lungimeSir;k++) { matriceAbateri[k][i]=tempAbat[t]; matriceFrecvente[k][i]=tempFrecv[t]; matriceStringuri[k][i]=tempString[t]; tempFrecv[t]=-1; tempAbat[t++]=63; } } /** * Functia distanta (Levenshtein optimizat) imi calculeza distanta nu * doar pentru un cuvant, ci si pentru tot sufixul lui * Ex: Levi(proiectare, dictionar) => proiectare, roiectare, oiectar etc * corectate, cu distante calculate si cu frecvente calculate. */ String stringOptim[]=new String[64]; int abatOptima[]=new int[64]; int frecvOptima[]=new int[64]; int nrCuvinte[]=new int[64]; stringOptim[0]=matriceStringuri[0][0]; abatOptima[0]=matriceAbateri[0][0]; frecvOptima[0]=matriceFrecvente[0][0]; nrCuvinte[0]=1; String temporaryString=""; // Ma folosesc din plin de rezultatele anterioare for(i=1;i<lungimeSir;i++) { stringOptim[i]=matriceStringuri[i][0]; frecvOptima[i]=matriceFrecvente[i][0]; nrCuvinte[i]=1; abatOptima[i]=matriceAbateri[i][0]; for(j=0;j<i;j++) { if(abatOptima[j]<=abatOptima[i]) // Pot optimiza solutia precedenta? { temporaryString=stringOptim[j]+" "+matriceStringuri[i][j+1]; if(matriceAbateri[i][j+1]+abatOptima[j]<abatOptima[i] || // Are abaterea mai mica? ((matriceAbateri[i][j+1]+abatOptima[j]==abatOptima[i])&&(nrCuvinte[j]+1<nrCuvinte[i])) || // Daca nu, are mai putine cuvinte? ((matriceAbateri[i][j+1]+abatOptima[j]==abatOptima[i])&&(nrCuvinte[j]+1==nrCuvinte[i])&& (frecvOptima[i]<matriceFrecvente[i][j+1]+frecvOptima[j])) || // Daca nu,are frecventa totala maxima? ((matriceAbateri[i][j+1]+abatOptima[j]==abatOptima[i])&&(nrCuvinte[j]+1==nrCuvinte[i])&& (frecvOptima[i]==matriceFrecvente[i][j+1]+frecvOptima[j])&& stringOptim[i].compareTo(temporaryString)>0)) // Daca nu,lexicografic e mai optim? { // Se poate optimiza! abatOptima[i]=abatOptima[j]+matriceAbateri[i][j+1]; stringOptim[i]=temporaryString; frecvOptima[i]=frecvOptima[j]+matriceFrecvente[i][j+1]; nrCuvinte[i]=nrCuvinte[j]+1; } } } } System.out.print(stringOptim[lungimeSir-1]); } } Download aici. Parola helloworld Exemplu de folosire java Corector error free text error free text java Corector schaprobl mcanbe easilisolved such a problem can be easily solved
    1 point
  6. @User Name!: De acord,marea majoritate de pe acest forum sunt de gen masculin insa, sper sa nu fie toti la fel de idioti ca tine.Lasa-le dracului de cratime daca nu esti in stare sa le folosesti.Si pe langa asta te mai dai si mare cocos,de asta te-am facut idiot,defapt nu te-am facut eu da ma rog...S-a gasit cine sa-i faca morala:un analfabet.Nu stiu ce vreti sa aratati prin atitudinea asta ca acum ati coborat din copaci,ca traiti langa un picior de pod sau ce?La asta suntem campioni:sa debitam prostii,ineptii si sa dam din gura mult,prost si fara rost.De asta e tara asta in rahat si tot de asta nu va iesi niciodata din el: pentru ca avem o mentalitate de rahat,si subliniez RAHAT.
    1 point
  7. sa nu mi zici ca pe tine te a cacat Einstein exact cand si a dat seama ca e=mc2? fi ti ar indienii de ras
    -1 points
  8. @snak3 Ce ar fii daca nu te-ai mai serpuii atat in curu oameniilor... Eu este incercat sa vorbit incat tu nu inteles la mine.
    -1 points
  9. @1749: Aici marea majoritate sunt de gen masculin, fetit-o! Niciodata nu poti arata tu ceva printre ei, esti tare ca esti in camera la tine? daca ne-am intalni intr-un bar sau pe strada toti astia care vorbiti in topic? Iti zic eu ca nici nu ai veni, copilita de 15 ani ce esti! Esti tare ca iti dau astia atentie? Cine te crezi tu pana la urma? Abea ti-sa deschis pizda si esti "cool" vrei sa intebunesti baietii, sau nu te gandesti si invers, ca ei se "lasa" inebuniti de tine doar ca sa te futa! Poti sa fi tu zana maseluta ca tot la pula o sa ramai! Esti vre-una de prin ferentari si ti-ai tras prieten: epilat, cu decolteu, unghiile cu lac? Vezi-ti de ale tale si nu mai incerca sa schimbi ceva la 15 ani ca te ia lumea la pula! asteapta pana iti dau toti dintii calumea ca sa poti vorbi! Succes,
    -1 points
This leaderboard is set to Bucharest/GMT+03:00
×
×
  • Create New...