Extrem de interesant! Putem muta discutiile politice si chestiunile legate indirect de Linux pe [EMAIL PROTECTED]
On Tue, 2004-11-30 at 17:20 +0200, Catalin(ux aka Dino) BOIE wrote: > >> Foarte interesant! Dai si tu algoritmul ala de verificare a cnp? S-ar = > > > > trebuie sa caut undeva. ultima cifra se calculeaza ca o combinatie liniara a > > primelor 12 cifre modulo 11, cu mentiunea ca 10 si 0 inseamna 0. tre sa caut > > undeva pe net coeficientii aia. > Eu am algoritmul pe care l-am atasat. > Functioneaza bine. > > Daca stie cineva mai multe detalii despre sex si judet, as fi > recunoscator pentru informatii. > > > > > >> Pentru problema ta (sau mai bine zis a noastra) dupa cum banuiai poti = > >> incerca ceva cu=20 > >> sort -u file1 > file2 > >> sort file1 > file3=20 > >> Si apoi diff file 3 file 2 > listaneagra > > > > da, asta nu mai tineam minte: diff. mersi, du-te la sediul de campanie al > > da-ului local si bea o bere cand va castiga maimutoiul nostru functia de > > president! apoi te inscrii in pnl, ok? > > > >> Sper ca esti constient ca vei baga la puscarie multi oameni cu treaba = > > > > dosar de urmarire penala + gherla intre 6 luni si 3 ani > > > >> S-auzim numai de bine! Congo cineva? > > > > sa vedem cine, ce si cum. s-ar putea sa ii facem urmasului lui mobutu sese > > seko o administratie bazata pe linux si solutii open source. depinde ce > > faceti peste 2 saptamani. > > > > tibi > > pnl cluj > > > > > > --- > > Detalii despre listele noastre de mail: http://www.lug.ro/ > > > > > > --- > Catalin(ux aka Dino) BOIE > catab at deuroconsult.ro > http://kernel.umbrella.ro/ > > -- Attached file included as plaintext by Ecartis -- > -- File: 1.c > > /* > Description: Validate romanian CNP > Author: Catali(ux aka Dino) BOIE <catab at umbrella.ro> > */ > > #include <stdio.h> > > > > int main (int argc, char *argv []) { > long suma, rest; > int sex, aa, ll, zz, jud; > int a1, a2; > int l1, l2; > int z1, z2; > int jud1, jud2; > int p10, p11, p12, p13; > char *cnp; > char *mes = "-"; > > > if (argc != 2) { > printf ("Usage: cnp <number>\n"); > return 1; > } > > cnp = argv [1]; > printf ("Input: %s.\n", cnp); > > sex = cnp [0] - '0'; > > a1 = cnp [1] - '0'; > a2 = cnp [2] - '0'; > aa = a1 * 10 + a2; > > l1 = cnp [3] - '0'; > l2 = cnp [4] - '0'; > ll = l1 * 10 + l2; > > z1 = cnp [5] - '0'; > z2 = cnp [6] - '0'; > zz = z1 * 10 + z2; > > jud1 = cnp [7] - '0'; > jud2 = cnp [8] - '0'; > jud = jud1 * 10 + jud2; > > p10 = cnp [9] - '0'; > p11 = cnp [10] - '0'; > p12 = cnp [11] - '0'; > p13 = cnp [12] - '0'; > > // teste > if ((sex < 1) || (sex > 8)) { > mes = "Sex"; > goto bad; > } > > if ((ll < 1) || (ll > 12)) { > mes = "Luna"; > goto bad; > } > > if ((zz < 1) || (zz > 31)) { > mes = "Zi"; > goto bad; > } > > if ((jud > 52) && (jud != 99)) { > mes = "Judet"; > goto bad; > } > > suma = 0; > suma += sex * 2; /* 1 */ > suma += a1 * 7; /* 2 */ > suma += a2 * 9; /* 3 */ > suma += l1 * 1; /* 4 */ > suma += l2 * 4; /* 5 */ > suma += z1 * 6; /* 6 */ > suma += z2 * 3; /* 7 */ > suma += jud1 * 5; /* 8 */ > suma += jud2 * 8; /* 9 */ > suma += p10 * 2; /* 10 */ > suma += p11 * 7; /* 11 */ > suma += p12 * 9; /* 12 */ > printf ("Suma: %d.\n", suma); > > rest = suma % 11; > if (rest == 10) > rest = 1; > printf ("Rest: %d.\n", rest); > > if (rest != p13) { > mes = "Suma"; > goto bad; > } > > goto ok; > > bad: > printf ("Cod gresit [%s]!\n", mes); > return 1; > > ok: > printf ("Cod bun!\n"); > return 0; > } > > > --- > Detalii despre listele noastre de mail: http://www.lug.ro/ > > --- Detalii despre listele noastre de mail: http://www.lug.ro/
