Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO;
- namespace metjelentes
- {
- class metjelentes
- {
- struct ST {
- public string telepules, ido, szel;
- public int ora, perc, homero;
- }
- static List<ST> list = new List<ST>();
- static ST one;
- static void Ex1(){
- StreamReader sr = new StreamReader("tavirathu13.txt");
- while (!sr.EndOfStream)
- {
- var line = sr.ReadLine().Split(' ');
- one.telepules = line[0];
- one.ido = line[1];
- one.ora = Convert.ToInt32(line[1])/100;
- one.perc = Convert.ToInt32(line[1])-one.ora*100;
- one.szel = line[2];
- one.homero = Convert.ToInt32(line[3]);
- list.Add(one);
- }
- sr.Close();
- //foreach (var e in list)
- //{
- // Console.WriteLine($"{e.telepules} {e.ido} {e.szel} {e.homero}");
- //}
- }
- static void Ex2(){
- int oid = 0, pid = 0;
- Console.Write("2. feladat\nAdja meg egy település kódját! Település: ");
- string kod = Console.ReadLine();
- foreach (var e in list)
- {
- if (kod==e.telepules)
- {
- oid = e.ora;
- pid = e.perc;
- }
- }
- Console.WriteLine($"Az utolsó mérési adat a megadott településről {oid}:{pid}-kor érkezett.");
- }
- static void Ex3(){
- int magas = int.MinValue, alacsony = int.MaxValue, oid = 0, pid = 0;
- string nev = "", pont = "";
- foreach (var e in list)
- {
- if (alacsony > e.homero)
- {
- alacsony = e.homero;
- nev = e.telepules;
- oid = e.ora;
- pid = e.perc;
- }
- }
- Console.WriteLine($"3. feladat\nA legalacsonyabb hőmérséklet: {nev} {oid}:{pid} {alacsony} fok.");
- foreach (var e in list)
- {
- if (magas<e.homero)
- {
- magas = e.homero;
- nev = e.telepules;
- oid = e.ora;
- pid = e.perc;
- }
- }
- Console.WriteLine($"A legmagasabb hőmérséklet: {nev} {oid}:{pid} {magas} fok.");
- }
- static void Ex4() {
- Console.WriteLine("4. feladat");
- string csend = "00000";
- bool van = false;
- foreach (var e in list)
- {
- if (e.szel==csend)
- {
- van = true;
- Console.WriteLine($"{e.telepules} {e.ora}:{e.perc}");
- }
- }
- if (van==false)
- {
- Console.WriteLine("Nem volt szélcsend a mérések idején.");
- }
- }
- static void Ex5() {
- Console.WriteLine("5. feladat");
- //int sum = 0, magas = int.MinValue, alacsony = int.MaxValue;
- //List<string> telep = new List<string>();
- //foreach (var e in list)
- //{
- // if (alacsony > e.homero)
- // {
- // alacsony = e.homero;
- // }
- // if (magas < e.homero)
- // {
- // magas = e.homero;
- // }
- // foreach (var f in list)
- // {
- // if (!telep.Contains(e.telepules))
- // {
- // if (f.telepules==e.telepules)
- // {
- // if (f.ora==1 || f.ora==7 || f.ora == 13 || f.ora == 191)
- // {
- // sum += f.homero;
- // }
- // }
- // telep.Add(e.telepules);
- // }
- // }
- // Console.WriteLine($"{telep} Középhőmérséklet: {sum/4}; Hőmérséklet-ingadozás: {magas-alacsony}");
- //}
- }
- static void Main(string[] args)
- {
- Ex1();
- Ex2();
- Ex3();
- Ex4();
- Ex5();
- Console.ReadKey();
- }
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- using System;
- using System.IO;
- using System.Collections.Generic;
- namespace ConsoleApp5
- {
- class Program
- {
- struct egyadat
- {
- public string varos;
- public string idopont;
- public int ora;
- public int perc;
- public string szelirany; //6 kerekter szelirany+erősseg
- public int szel; //széliránya; -1 ha VRB
- public int ero; //szélerőssége
- public int homerseklet;
- }
- static void Main(string[] args)
- {
- //1.feladat
- StreamReader sr = new StreamReader("tavirathu13.txt");
- egyadat[] adat = new egyadat[500];
- string s1;
- string[] darabol = new string[6];
- int szamol = 0;
- while (!sr.EndOfStream)
- {
- s1 = sr.ReadLine();
- darabol = s1.Split(' ');
- adat[szamol].varos = darabol[0];
- adat[szamol].idopont = darabol[1];
- adat[szamol].ora = int.Parse(darabol[1]) / 100;
- adat[szamol].perc = int.Parse(darabol[1]) - adat[szamol].ora * 100;
- adat[szamol].szelirany = darabol[2];
- if (darabol[2].StartsWith("VRB"))
- {
- adat[szamol].szel = -1;
- }
- else
- {
- adat[szamol].szel = Convert.ToInt32(darabol[2]) / 100;
- adat[szamol].ero = Convert.ToInt32(darabol[2]) - 100 * adat[szamol].szel;
- }
- adat[szamol].homerseklet = Convert.ToInt32(darabol[3]);
- szamol++;
- }
- sr.Close();
- //2.feladat
- Console.WriteLine("\n2. feladat");
- Console.Write("Adja meg a település kódját:! Település: ");
- string s2 = Console.ReadLine();
- int ora2 = 0; //utolsó észlelés órája
- int perc2 = 0; //utolsó észlelés perc
- for (int i = 1; i <= szamol; i++)
- {
- if (s2 == adat[i].varos)
- {
- ora2 = adat[i].ora;
- perc2 = adat[i].perc;
- }
- }
- Console.WriteLine("Az utolsó mérési adat a megadott településről {0}:{1}-kor érkezett.", ora2, perc2);
- //3.feladat
- Console.WriteLine("\n3. feladat");
- int minho = int.MaxValue; //Min. hőmérséklet
- int maxho = int.MinValue; //Max. hőmérséklet
- string minvaros = adat[1].varos; //Min. hőmérséklet városa
- string maxvaros = adat[1].varos; //Max. hőmérséklet városa
- string minido = adat[1].idopont; //Min. hőmérséklet ideje
- string maxido = adat[1].idopont; //Max. hőmérséklet ideje
- for (int i = 1; i <= szamol; i++)
- { if (minho>adat[i].homerseklet) //Minimum-kiválasztás ---nem müködik teljesen jól
- {
- minho = adat[i].homerseklet;
- minvaros = adat[i].varos;
- minido = adat[i].idopont;
- }
- if (adat[i].homerseklet > maxho) //Maximum-kiválasztás
- {
- maxho = adat[i].homerseklet;
- maxvaros = adat[i].varos;
- maxido = adat[i].idopont;
- }
- }
- int minido1 = Convert.ToInt32(minido) / 100; //Az óra kiszámolásához.
- int minido2 = Convert.ToInt32(minido) - minido1 * 100; //A perc kiszámolásához.
- Console.WriteLine("A legalacsonyabb hőmérséklet: {0} {1}:{2} {3} fok.", minvaros, minido1, minido2, minho);
- int maxido1 = Convert.ToInt32(maxido) / 100;
- int maxido2 = Convert.ToInt32(maxido) - maxido1 * 100;
- Console.WriteLine("A legmagasabb hőmérséklet: {0} {1}:{2} {3} fok.", maxvaros, maxido1, maxido2, maxho);
- //4.feladat
- Console.WriteLine("\n4. feladat");
- bool voltilyen = false;
- for (int i = 1; i <= szamol; i++)
- {
- if (adat[i].szelirany == "00000")
- {
- Console.Write("{0} ", adat[i].varos);
- if (adat[i].ora < 10)
- {
- Console.Write("0"); //10 óra előtt ki kell írni egy vezető 0-t.
- }
- Console.Write("{0}:", adat[i].ora);
- if (adat[i].perc < 10)
- {
- Console.Write("0"); //10 perc előtt ki kell írni egy vezető 0-t.
- }
- Console.WriteLine("{0}", adat[i].perc);
- voltilyen = true;
- }
- }
- if (voltilyen == false)
- {
- Console.WriteLine("Nem volt szélcsend a mérések idején.");
- }
- //5. feladat
- Console.WriteLine("\n5. feladat");
- int varosdb = 0; //Ennyi városnév van.
- List<string> varosnevek = new List<string>();
- for (int i = 1; i <= szamol; i++)
- {
- if (!varosnevek.Contains(adat[i].varos))
- {
- varosdb++;
- varosnevek.Add(adat[i].varos);
- }
- }
- string[] varosnevlista = new string[20]; //Ide mentem a leszűrt városneveket
- int i5 = 1; //Ideiglenes index
- foreach (var item in varosnevek)
- {
- varosnevlista[i5] = item;
- i5++;
- }
- int[,] hofokok = new int[7, varosdb + 1];
- for (int j = 1; j <= varosdb; j++)
- {
- hofokok[1, j] = 0; //Alapállapotba állítjuk a hőmérséklet-jelzőket
- hofokok[2, j] = 0;
- hofokok[3, j] = 0;
- hofokok[4, j] = 0;
- hofokok[5, j] = 100;
- hofokok[6, j] = 0;
- }
- for (int i = 1; i <= szamol; i++)
- {
- for (int j = 1; j <= varosdb; j++)
- {
- if (adat[i].varos == varosnevlista[j]) //Jó városban vagyunk
- {
- if (adat[i].ora == 1)
- { hofokok[1, j] = adat[i].homerseklet; }
- if (adat[i].ora == 7)
- { hofokok[2, j] = adat[i].homerseklet; }
- if (adat[i].ora == 13)
- { hofokok[3, j] = adat[i].homerseklet; }
- if (adat[i].ora == 19)
- { hofokok[4, j] = adat[i].homerseklet; }
- if (hofokok[5, j] > adat[i].homerseklet)
- { hofokok[5, j] = adat[i].homerseklet; }
- if (hofokok[6, j] < adat[i].homerseklet)
- { hofokok[6, j] = adat[i].homerseklet; }
- }
- }
- }
- int szorzat5; //Ideiglenes változó
- float f5; //Ideiglenes változó
- for (int j = 1; j <= varosdb; j++)
- {
- szorzat5 = hofokok[1, j] * hofokok[2, j] * hofokok[3, j] * hofokok[4, j];
- if (szorzat5 == 0)
- {
- Console.WriteLine("{0} NA ; Hőmérséklet-ingadozás: {1}", varosnevlista[j], hofokok[6, j] - hofokok[5, j]);
- }
- else
- {
- f5 = (hofokok[1, j] + hofokok[2, j] + hofokok[3, j] + hofokok[4, j]) / 4;
- Console.WriteLine("{0} Középhőmérséklet: {1} ; Hőmérséklet-ingadozás: {2} ", varosnevlista[j], Math.Round(f5), hofokok[6, j] - hofokok[5, j]);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement