//Metoda koja broji filmove po zanru static void Postoji_zanr_rezisera(Zanrovi_rezisera reziser_zanrovi, string[] niz_ulazni_zanrovi) { for (int i = 0; i < niz_ulazni_zanrovi.Length; i++) { for (int j = 0; j < reziser_zanrovi.zanrovi.Length; j++) { if (niz_ulazni_zanrovi[i] == reziser_zanrovi.zanrovi[j]) { reziser_zanrovi.br_filmovi[j]++; } } } }
//Glavna metoda static Zanrovi_rezisera[] Zanrovi_po_reziserima(string[,] podaci_matrica, string[] zanr_niz) { Zanrovi_rezisera[] reziser_zanrovi = new Zanrovi_rezisera[1000]; int brojac_struktura = 0; string[] niz_ulazni_zanrovi; for (int i = 0; i < podaci_matrica.GetLength(0); i++) { niz_ulazni_zanrovi = podaci_matrica[i, 2].Split("|"); int indeks = Unet_reziser(reziser_zanrovi, podaci_matrica[i, 4], brojac_struktura); if (indeks != -1) { for (int k = 0; k < zanr_niz.Length; k++) { if (Poredjenje_sa_konzolom(zanr_niz[k], niz_ulazni_zanrovi)) { Postoji_zanr_rezisera(reziser_zanrovi[indeks], niz_ulazni_zanrovi); } } } else { int brojac = 0; bool provera = false; reziser_zanrovi[brojac_struktura].br_filmovi = new int [zanr_niz.Length]; reziser_zanrovi[brojac_struktura].zanrovi = new string [zanr_niz.Length]; for (int k = 0; k < zanr_niz.Length; k++) { if (Poredjenje_sa_konzolom(zanr_niz[k], niz_ulazni_zanrovi)) { reziser_zanrovi[brojac_struktura].reziser = podaci_matrica[i, 4]; reziser_zanrovi[brojac_struktura].zanrovi[brojac] = zanr_niz[k]; reziser_zanrovi[brojac_struktura].br_filmovi[brojac] = 1; brojac++; provera = true; } } Array.Resize(ref reziser_zanrovi[brojac_struktura].br_filmovi, brojac); Array.Resize(ref reziser_zanrovi[brojac_struktura].zanrovi, brojac); if (provera) { brojac_struktura++; } } } Array.Resize(ref reziser_zanrovi, brojac_struktura); return(reziser_zanrovi); }