Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int contains(char a[], char v) {
- int i;
- for (i = 0; i < strlen(a); i++)
- if (a[i] == v)
- return 1;
- return 0;
- }
- int difera(char a[], char b[]) {
- int i, ret = 0;
- for(i = 0; i < strlen(a); i++)
- if (contains(b, a[i]))
- ret++;
- return ret;
- }
- void dictionar(nod *rad, char cuv[], int niv, char ret[]) {
- char c;
- for (c = 'A'; c <= 'Z'; c++) //pentru toate literele considerate
- {
- if (get_val(rad, c)) //daca exista legatura in dictionar
- {
- cuv[niv] = c; //adaug litera gasita in buffer
- dictionar(get_val(rad, c),cuv,niv+1, ret); //avansez
- }
- }
- if (get_val(rad, '[')) //exista terminator=>am gasit un cuvant intreg
- {
- cuv[niv] = '\0';
- if(difera(cuv, ret) == strlen(cuv) - 1 && abs(strlen(ret)-strlen(cuv)) == 1)
- printf("%s\n", cuv); //prelucrez datele
- }
- }
- void func(nod *rad, char cuv[], int niv, char ret[]) {
- printf("%s, did you mean: \n", ret);
- dictionar(rad,cuv, niv, ret);
- printf("\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement