static void Main(string[] args) { int mėnnr = 0, inr = 0, jnr = 0; Matrica Birza = new Matrica(); Miestai[] M = new Miestai[3]; Skaityti(CFd, ref Birza, ref M); DidziausiasNedarbas(Birza, out mėnnr); Maziausias(M, Birza, out inr, out jnr); RikiuotiJ(M, Birza); Rikiuoti(M, Birza); Spausdinti(CFr, Birza, M); }
/// <summary> /// Spausdina duomenis į rezultatų failą /// </summary> /// <param name="fv">rezultatų failas</param> /// <param name="Birza">dvimatis masyvas</param> /// <param name="M">miestų masyvas</param> static void Spausdinti(string fv, Matrica Birza, Miestai[] M) { using (var fr = File.CreateText(fv)) { fr.WriteLine("------------------------------------------------------------"); fr.WriteLine("Pradiniai duomenys"); fr.WriteLine("------------------------------------------------------------"); fr.WriteLine("Miestų sąrašas:"); fr.WriteLine(); for (int i = 0; i < Birza.Imti(); i++) { fr.WriteLine(M[i].ToString()); } fr.WriteLine(); fr.WriteLine("Jaunimo nuo 19 iki 25 metų nedarbas miestuose:"); fr.WriteLine(); for (int i = 0; i < Birza.n; i++) { for (int j = 0; j < Birza.m; j++) { fr.Write("{0,2:d}", Birza.ImtiReiksme(i, j)); } fr.WriteLine(); } fr.WriteLine("------------------------------------------------------------"); fr.WriteLine("Rezultatai"); fr.WriteLine("------------------------------------------------------------"); int mėnnr; DidziausiasNedarbas(Birza, out mėnnr); fr.WriteLine("Didžiausias nedarbas jaunimo tarpe buvo {0} mėnesį.", mėnnr + 1); fr.WriteLine(); int inr; int jnr; Maziausias(M, Birza, out inr, out jnr); fr.WriteLine("Santykinis nedarbo lygis mažiausias: miestas {0}, mėnuo {1}", M[inr].ImtiPav(), jnr + 1); fr.WriteLine("------------------------------------------------------------"); fr.WriteLine("Rikiuotas miestų sąrašas pagal gyventojų skaičių (mažėjimo tvarka)"); fr.WriteLine("------------------------------------------------------------"); Rikiuoti(M, Birza); for (int i = 0; i < Birza.n; i++) { fr.WriteLine(M[i].ToString()); } fr.WriteLine("------------------------------------------------------------"); } }
/// <summary> /// suranda kurį mėnesį buvo didžiausias nedarbas jaunimo tarpe /// </summary> /// <param name="Birza">dvimatis masyvas</param> /// <param name="mėnnr">mėnesio numeris</param> static void DidziausiasNedarbas(Matrica Birza, out int mėnnr) { int max = 0; mėnnr = 0; for (int i = 0; i < Birza.m; i++) { int sum = 0; for (int j = 0; j < Birza.n; j++) { sum = sum + Birza.ImtiReiksme(i, j); } if (sum > max) { max = sum; mėnnr = i; } } }
/// <summary> /// Surikiuoja miestų sąrašą pagal jaunimo kiekį mažėjimo tvarka /// </summary> /// <param name="M"> miestų masyvas </param> /// <param name="Birza"> dvimatis masyvas </param> static void RikiuotiJ(Miestai[] M, Matrica Birza) { Miestai laik; int indeksas; for (int i = 0; i < Birza.n - 1; i++) { indeksas = i; for (int j = i + 1; j < Birza.n; j++) { if (M[indeksas].ImtiJaun() > M[j].ImtiJaun()) { indeksas = j; } laik = M[indeksas]; M[indeksas] = M[j]; M[j] = laik; } } }
/// <summary> /// randa miestą ir mėnesį, kai santykinis nedarbo lygis buvo mažiausias /// </summary> /// <param name="M">miestų masyvas</param> /// <param name="Birza">dvimatis masyvas</param> /// <param name="inr">eilutės indeksas</param> /// <param name="jnr">stulpelio indeksas</param> static void Maziausias(Miestai[] M, Matrica Birza, out int inr, out int jnr) { inr = 0; jnr = 0; double min = 1000; for (int i = 0; i < Birza.n; i++) { for (int j = 0; j < Birza.m; j++) { int santyk = Birza.ImtiReiksme(i, j) * 1000 / M[i].ImtiGyv(); if (min > santyk) { min = santyk; inr = i; jnr = j; } } } }