Advertisement
nex036ara

filtriranje_u_levenshteinu

Oct 28th, 2013
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.64 KB | None | 0 0
  1.  private void filtriraj_zapise()
  2.         {
  3.             if (Data.RegistarUlica == null || Data.RegistarUlica.Count == 0)
  4.             {
  5.                 return;
  6.             }
  7.  
  8.             List<Ulica> sve_ulice = Data.RegistarUlica;
  9.             List<Ulica> nove_ulice = new List<Ulica>();
  10.             List<Ulica> za_zamenu = new List<Ulica>();
  11.             Ulica represent = new Ulica();
  12.  
  13.             bool postoji;
  14.  
  15.  
  16.             foreach (Ulica ulica1 in Data.RegistarUlica)
  17.             {
  18.                 represent = ulica1;
  19.               //  Console.WriteLine("represent: "+represent.Naziv);  
  20.    
  21.                     foreach (Ulica ulica2 in Data.RegistarUlica)
  22.                     {
  23.                        // Console.WriteLine("for_compare: " + ulica2.Naziv);
  24.                         if (represent.Naziv.Equals(ulica2.Naziv)) continue;
  25.  
  26.                             if (Levenshtein.LevenshteinDistance(represent.Naziv.ToLower(), ulica2.Naziv.ToLower()) == 0)
  27.                             {
  28.  
  29.                                 if (represent.Naziv.Contains('.') ||
  30.                                      (!represent.Naziv.Contains('š') &&
  31.                                      !represent.Naziv.Contains('ć') &&
  32.                                      !represent.Naziv.Contains('ž')))
  33.                                 {
  34.                                     if (!za_zamenu.Contains(ulica1))
  35.                                         za_zamenu.Add(ulica1);
  36.                                     represent = ulica2;
  37.  
  38.                                    
  39.                                 }
  40.  
  41.                             }
  42.                        
  43.                     }
  44.                  
  45.                    
  46.                     #region nove_ulice_provera
  47.                     postoji = false;
  48.                     foreach (Ulica u in nove_ulice)
  49.                     {
  50.  
  51.                         string naziv_nove = u.Naziv;
  52.  
  53.                         if (Levenshtein.LevenshteinDistance(represent.Naziv, naziv_nove) == 0)
  54.                         {
  55.                             postoji = true;
  56.                             break;
  57.                         }
  58.  
  59.                     }
  60.  
  61.  
  62.                     if (!postoji)
  63.                         nove_ulice.Add(represent);
  64.                     #endregion
  65.  
  66.                    
  67.                
  68.             }
  69.             string[] lines = new string [nove_ulice.Count];
  70.            
  71.             for(int i=0; i<nove_ulice.Count; i++) {
  72.                 lines[i] = nove_ulice.ElementAt(i).Naziv +"\t"+ nove_ulice.ElementAt(i).Opstina;
  73.             }
  74.             System.IO.File.WriteAllLines(@"C:\Users\Branislav\Desktop\sc\SC - vezbe 1\SC - vezbe 1\moja_nova.txt",lines);
  75.  
  76.  
  77.             string[] l = new string[za_zamenu.Count];
  78.  
  79.             for (int i = 0; i < za_zamenu.Count; i++)
  80.             {
  81.                 l[i] = za_zamenu.ElementAt(i).Naziv +"\t"+ za_zamenu.ElementAt(i).Opstina;
  82.             }
  83.             System.IO.File.WriteAllLines(@"C:\Users\Branislav\Desktop\sc\SC - vezbe 1\SC - vezbe 1\mapirane.txt", l);
  84.  
  85.  
  86.             //Console.WriteLine("***************");
  87.             //Console.WriteLine("Nove:");
  88.             //Console.WriteLine(nove_ulice.Count);
  89.             //foreach (Ulica uu in nove_ulice) {
  90.             //    Console.WriteLine(uu.Naziv);
  91.             //}
  92.             //Console.WriteLine("***************");
  93.  
  94.  
  95.             //Console.WriteLine("Izvrsena zamena sledecih:");
  96.             //Console.WriteLine(za_zamenu.Count);
  97.             //foreach (Ulica uu in za_zamenu)
  98.             //{
  99.             //    Console.WriteLine(uu.Naziv);
  100.             //}
  101.             //Console.WriteLine("***************");
  102.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement