har et program der udregner det sidste ciffer i cpr nummeret, der kan du se hvordan jeg adskiller de enkelte cifre, måske det kan hjælpe.
using System;
class CSDemo
{
public static void Main()
{
int v1 = 4;
int v2 = 3;
int v3 = 2;
int v4 = 7;
int v5 = 6;
int v6 = 5;
int v7 = 4;
int v8 = 3;
int v9 = 2;
Console.WriteLine("\nIndtast de første 9 cifre i dit person nummer, uden bindestreg:\n ");
int ShortCPR = int.Parse(Console.ReadLine());
int c1 = ((ShortCPR%1000000000)-(ShortCPR%100000000))/100000000;
int c2 = ((ShortCPR%100000000)-(ShortCPR%10000000))/10000000;
int c3 = ((ShortCPR%10000000)-(ShortCPR%1000000))/1000000;
int c4 = ((ShortCPR%1000000)-(ShortCPR%100000))/100000;
int c5 = ((ShortCPR%100000)-(ShortCPR%10000))/10000;
int c6 = ((ShortCPR%10000)-(ShortCPR%1000))/1000;
int c7 = ((ShortCPR%1000)-(ShortCPR%100))/100;
int c8 = ((ShortCPR%100)-(ShortCPR%10))/10;
int c9 = ShortCPR%10;
int ct = ((c1*v1)+(c2*v2)+(c3*v3)+(c4*v4)+(c5*v5)+(c6*v6)+(c7*v7)+(c8*v8)+(c9*v9))%11;
int c10 = (11-ct);
if (ct == 0)
c10=0;
else if (ct == 1)
Console.Write("\nUgyldigt CPR, prøv igen!\n");
Console.Write("\nDit CPR nummer er: {0}{1}{2}{3}{4}{5}{6}{7}{8}{9}", c1, c2, c3, c4, c5, c6, c7, c8, c9, c10);
if ((c10==0) || (c10==2) || (c10==2) || (c10==4) || (c10==6) || (c10==8))
Console.Write("\n\nDit kontrol ciffer er lige, altså er du en kvinde\n");
else if ((c10==1) || (c10==3) || (c10==5) || (c10==7) || (c10==9))
Console.Write("\n\nDit kontrol ciffer er ulige, altså er du en mand\n");
}
}
Her er lidt info om udregning af de enkelte cifre
http://tom.paamand.dk/cpr.htm