slemiba

Meteorológiai jelentés - 2020. május

Feb 19th, 2021
1,296
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7.  
  8. namespace metjelentes
  9. {
  10.     class Program
  11.     {
  12.         static string Ido(string valami)
  13.         {
  14.             string[] db = valami.Split(' ');
  15.             string v = db[1].Substring(0, 2) + ":" + db[1].Substring(2, 2);
  16.             return v;
  17.         }
  18.  
  19.         static void Main(string[] args)
  20.         {
  21.             Console.WriteLine("1. feladat");
  22.             StreamReader sr = new StreamReader("tavirathu13.txt");
  23.             List<String> adatok = new List<string>();
  24.  
  25.             while (!sr.EndOfStream)
  26.             {
  27.                 adatok.Add(sr.ReadLine());
  28.             }
  29.  
  30.             /*foreach ( var temp in adatok)
  31.             {
  32.                 Console.WriteLine(temp);
  33.             }*/
  34.  
  35.             Console.WriteLine("2. feladat");
  36.             Console.Write("Adja meg egy település kódját! Település: ");
  37.             string telep_kod = Console.ReadLine();
  38.             string telep_szoveg = ""; //település adat
  39.  
  40.             foreach (var temp in adatok)
  41.             {
  42.                 string[] db = temp.Split(' ');
  43.                 if (db[0] == telep_kod)
  44.                 {
  45.                     // felhasználó ugyanazt írta be, amit épp nézünk
  46.                     telep_szoveg = temp;
  47.                 }
  48.             } // vége: listabejárás
  49.             Console.WriteLine("Az utolsó mérési adat a megadott településről " + Ido(telep_szoveg) + " -kor érkezett.");
  50.  
  51.             //Console.WriteLine(telep_szoveg);
  52.  
  53.             Console.WriteLine("3. feladat");
  54.             int MAX_É = -100;
  55.             string MAX_SOR = "";
  56.  
  57.             int MIN_É = 100;
  58.             string MIN_SOR = "";
  59.  
  60.             foreach (var temp in adatok)
  61.             {
  62.                 string[] db = temp.Split(' ');
  63.                 int hom = Convert.ToInt32(db[3]);
  64.  
  65.                 if (hom > MAX_É)
  66.                 {
  67.                     MAX_É = hom;
  68.                     MAX_SOR = temp;
  69.                 }
  70.  
  71.                 if (hom < MIN_É)
  72.                 {
  73.                     MIN_É = hom;
  74.                     MIN_SOR = temp;
  75.                 }
  76.  
  77.             } //
  78.             Console.WriteLine("A legalacsonyabb hőmérséklet: " + MIN_SOR.Substring(0, 2) + " " + Ido(MIN_SOR) + " " + MIN_SOR.Substring(14, 2) + " fok.");
  79.             Console.WriteLine("A legmagasabb hőmérséklet: " + MAX_SOR.Substring(0, 2) + " " + Ido(MAX_SOR) + " " + MAX_SOR.Substring(14, 2) + " fok.");
  80.  
  81.             Console.WriteLine("4. feladat");
  82.             bool SZELCSEND = false;
  83.             foreach (var temp in adatok)
  84.             {
  85.                 string[] db = temp.Split(' ');
  86.                 if (db[2] == "00000")
  87.                 {
  88.                     SZELCSEND = true;
  89.                     Console.WriteLine(temp.Substring(0, 2) + " " + Ido(temp));
  90.                 }
  91.             }
  92.             if (SZELCSEND == false)
  93.             {
  94.                 Console.WriteLine("Nem volt szélcsend a mérések idején.");
  95.             }
  96.  
  97.             Console.WriteLine("5. feladat");
  98.             HashSet<String> telepulesek = new HashSet<string>();
  99.             foreach (var temp in adatok) {
  100.                 telepulesek.Add(temp.Substring(0, 2));
  101.  
  102.             }
  103.  
  104.             /*foreach(var temp in telepulesek)
  105.             {
  106.                 Console.WriteLine(temp);
  107.             }*/
  108.             foreach (var tempx in telepulesek)
  109.             {
  110.                 string telepules = tempx;
  111.                 bool ORA_1 = false;
  112.                 bool ORA_7 = false;
  113.                 bool ORA_13 = false;
  114.                 bool ORA_19 = false;
  115.                 int SZUM_HOM = 0;
  116.                 int DB_HOM = 0;
  117.  
  118.                 int TMAX = -100;
  119.                 int TMIN = 100;
  120.  
  121.                 foreach (var temp in adatok)
  122.                 {
  123.                     if (temp.Substring(0, 2) == telepules)
  124.                     {
  125.                         int ora = Convert.ToInt32(temp.Substring(3, 2));
  126.                         if (ora == 1)
  127.                         {
  128.                             ORA_1 = true;
  129.                             SZUM_HOM = SZUM_HOM + Convert.ToInt32(temp.Substring(14, 2));
  130.                             DB_HOM++;
  131.                         }
  132.                         if (ora == 7)
  133.                         {
  134.                             ORA_7 = true;
  135.                             SZUM_HOM = SZUM_HOM + Convert.ToInt32(temp.Substring(14, 2));
  136.                             DB_HOM++;
  137.                         }
  138.                         if (ora == 13)
  139.                         {
  140.                             ORA_13 = true;
  141.                             SZUM_HOM = SZUM_HOM + Convert.ToInt32(temp.Substring(14, 2));
  142.                             DB_HOM++;
  143.                         }
  144.                         if (ora == 19)
  145.                         {
  146.                             ORA_19 = true;
  147.                             SZUM_HOM = SZUM_HOM + Convert.ToInt32(temp.Substring(14, 2));
  148.                             DB_HOM++;
  149.                         }
  150.  
  151.                         int hom = Convert.ToInt32(temp.Substring(14, 2));
  152.                         if (hom > TMAX)
  153.                         {
  154.                             TMAX = hom;
  155.                         }
  156.                         if (hom < TMIN)
  157.                         {
  158.                             TMIN = hom;
  159.                         }
  160.  
  161.                     }
  162.                 } // vége
  163.  
  164.                 if (ORA_1 && ORA_7 && ORA_13 && ORA_19)
  165.                 {
  166.                     double atlag = (double)SZUM_HOM / (double)DB_HOM;
  167.                     Console.WriteLine(telepules + " Középhőmérséklet: " + Math.Round(atlag) + "; Hőmérséklet-ingadozás: " + (TMAX - TMIN));
  168.                 }
  169.                 else
  170.                 {
  171.                     Console.WriteLine(telepules + " NA; Hőmérséklet-ingadozás: " + (TMAX - TMIN));
  172.                 }
  173.             }
  174.  
  175.             Console.WriteLine("6. feladat");
  176.             foreach (var t in telepulesek)
  177.             {
  178.                 string telepulesx = t;
  179.                 StreamWriter sw = new StreamWriter(@"C:\temp\\" + telepulesx + ".txt");
  180.  
  181.                 sw.WriteLine(telepulesx);
  182.                 foreach (var temp in adatok)
  183.                 {
  184.                     if (temp.Substring(0, 2) == telepulesx)
  185.                     {
  186.                         sw.Write(Ido(temp) + " ");
  187.                         int h_szam = Convert.ToInt32(temp.Substring(12, 2));
  188.                         for (int i = 0; i < h_szam; i++)
  189.                         {
  190.                             sw.Write("#");
  191.                         }
  192.                         sw.WriteLine();
  193.                     }
  194.                 }
  195.                 sw.Close();
  196.             }
  197.            
  198.            
  199.            
  200.  
  201.  
  202.  
  203.             Console.ReadLine();
  204.            
  205.         }
  206.     }
  207. }
  208.  
RAW Paste Data