Guest User

https://ehazi.hu/q/21990

a guest
Mar 3rd, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 10.93 KB | None | 0 0
  1. /* Nevek - verseny.txt-be kell bemásolni
  2. Nagy Nándor Botond;Zala megye;126;102;134
  3. Sajtos Zsombor;Fejér megye;125;149;136
  4. Bondár Zsófia;Bács-Kikun megye;118;56;77
  5. Ecsedi Bence;Baranya megye;115;145;128
  6. Sarkadi Sándor;Fejér megye;115;125;132
  7. Togyeriska Krisztina;Pest megye;113;120;88
  8. Bodnár Villő;Heves megye;108;53;68
  9. Kovács Csenge;Heves megye;107;96;97
  10. Vass Milán;Békés megye;103;143;95
  11. Csonka Orsolya;Nógrád megye;103;130;83
  12. Jenei Miklós;Baranya megye;103;132;121
  13. Tóth Sándor;Bács-Kikun megye;102;127;83
  14. Kiss Boglárka;Pest megye;102;84;81
  15. Péter Pence;Fejér megye;100;99;113
  16. Péter Marcell;Heves megye;99;57;51
  17. Andrási Zsófi;Békés megye;97;138;121
  18. Jávorka Márton;Pest megye;96;100;145
  19. Kruppa Eszter;Csongrád megye;94;74;88
  20. Kolozsi Lizett;Fejér megye;92;67;110
  21. Daniló Alexandra;Csongrád megye;92;87;138
  22. Barkaszi Viktor;Nógrád megye;91;91;132
  23. Ustea Dániel;Heves megye;90;120;98
  24. Tóth Dániel István;Heves megye;89;92;149
  25. Kovács Bence;Pest megye;89;149;67
  26. Kovács Máté;Heves megye;88;87;81
  27. Takács Zsombor;Somogy megye;87;144;53
  28. Kovács Bianka;Somogy megye;87;71;135
  29. Berettyán Csilla;Somogy megye;86;54;126
  30. Kekecs Máté;Zala megye;86;87;95
  31. Csíkos Noel Zsolt;Somogy megye;85;74;78
  32. Dinato Manuel;Zala megye;84;129;137
  33. Urbin Zsombor;Zala megye;84;78;143
  34. Zsoldos Ágnes;Nógrád megye;83;136;113
  35. Szopkó Dorina;Békés megye;81;62;85
  36. Polgári Zsófia;Somogy megye;80;97;119
  37. Szántó Vivien;Bács-Kikun megye;80;100;67
  38. Ari Attila;Pest megye;79;81;128
  39. Buzga Beatrix;Zala megye;79;96;134
  40. Kemecsei Márk;Pest megye;78;134;54
  41. Pásztor Kitti;Pest megye;77;81;131
  42. Halász Tímea;Fejér megye;76;125;84
  43. Kemenyiczki Zsolt;Zala megye;75;122;60
  44. Homoky Márk;Békés megye;75;79;127
  45. Kovács Eszter;Pest megye;74;56;141
  46. Kenyeres Fanni;Békés megye;73;119;148
  47. Esze Rita Arienn;Nógrád megye;71;87;146
  48. Gyirán Péter;Bács-Kikun megye;70;50;103
  49. Tóth Rebeka;Heves megye;70;106;85
  50. Al-Hamati Fatima;Heves megye;70;150;71
  51. Csáji Lili;Baranya megye;70;58;50
  52. Kun Fanni;Nógrád megye;69;117;147
  53. Budai Vince;Pest megye;69;144;69
  54. Horváth Lili;Csongrád megye;69;59;119
  55. Szőke Zoltán;Zala megye;68;61;100
  56. Jenei Dóra;Baranya megye;67;89;144
  57. Hanyu Norbert;Bács-Kikun megye;67;150;127
  58. Révész Benjámin;Békés megye;66;88;108
  59. Görög Péter;Baranya megye;65;133;73
  60. Zoltai Tamás;Zala megye;65;135;59
  61. Horváth Gábor;Fejér megye;62;139;139
  62. Berényi Benedek;Nógrád megye;62;116;134
  63. Tarpai Diána;Pest megye;61;145;143
  64. Turán Levente;Zala megye;61;93;66
  65. Homoki Patrik János;Somogy megye;61;113;147
  66. Nagy Dorina;Somogy megye;60;114;148
  67. Dienes Levente;Nógrád megye;57;78;125
  68. */
  69.  
  70. // A program
  71. using System;
  72. using System.Collections.Generic;
  73. using System.IO;
  74.  
  75.  
  76. namespace P08
  77. {
  78.     class Program
  79.     {
  80.         struct tdata {
  81.             public string nev;
  82.             public string megye;
  83.             public int f1;
  84.             public int f2;
  85.             public int f3;
  86.             public int sum;
  87.            
  88.             public tdata(string s) {
  89.                 string [] fb;
  90.                 fb = s.Split(';');
  91.                 nev = fb[0];
  92.                 megye = fb[1];
  93.                 f1 = Convert.ToInt32(fb[2]);
  94.                 f2 = Int32.Parse(fb[3]);
  95.                 f3 = Int32.Parse(fb[4]);
  96.                 sum = f1 + f2 + f3;
  97.             }
  98.         }
  99.        
  100.        
  101.         struct mdata {
  102.             public string nev;
  103.             public int s;
  104.             public int d;
  105.         }
  106.        
  107.        
  108.         public static void Main(string[] args)
  109.         {
  110.            
  111.             int db = 0;
  112.             string s;
  113.            
  114.             using (StreamReader fs = new StreamReader("verseny.txt")) {
  115.                 while (!fs.EndOfStream) {
  116.                     s = fs.ReadLine();
  117.                     db++;
  118.                 }
  119.             }
  120.            
  121.             tdata [] tanulok = new tdata[db];
  122.            
  123.             db = 0;
  124.             using (StreamReader fs = new StreamReader("verseny.txt")) {
  125.                
  126.                 while (!fs.EndOfStream) {
  127.                     tanulok[db]= new tdata(fs.ReadLine());
  128.                     db++;
  129.                 }
  130.             }
  131.            
  132.            
  133.             // előkészület a b. feladathoz
  134.             double p1=0, p2=0, p3=0;
  135.             // előkészület a c. feladathoz
  136.             int max = 0;
  137.             int k;
  138.            
  139.             // előkészület a g feladathoz
  140.             int megyedb = 0;
  141.             mdata [] megyen = new mdata[20];
  142.             mdata e1;
  143.            
  144.             // a. feladat
  145.             for (int i = 0; i < tanulok.Length; i++) {
  146.                 Console.WriteLine("{0}: {1} pontszám",tanulok[i].nev, tanulok[i].sum);
  147.                
  148.                 p1+=tanulok[i].f1;
  149.                 p2+=tanulok[i].f2;
  150.                 p3+=tanulok[i].f3;
  151.                
  152.                 if(max<tanulok[i].sum) max=tanulok[i].sum;
  153.                
  154.                 // megyek felvétele !!!!
  155.                 if (megyedb==0) {
  156.                     e1.nev = tanulok[i].megye;
  157.                     e1.s = tanulok[i].sum; e1.d = 1;
  158.                     megyen[megyedb] = e1;
  159.                     megyedb++;
  160.                 }
  161.                 else {
  162.                     k = 0;
  163.                     while (k<megyen.Length && megyen[k].nev!=tanulok[i].megye) {
  164.                         k++;
  165.                     }
  166.                     if (k == megyen.Length) {
  167.                         e1.nev = tanulok[i].megye;
  168.                         e1.s = tanulok[i].sum; e1.d = 1;
  169.                         megyen[megyedb] = e1;
  170.                         megyedb++;
  171.                     } else {
  172.                         e1 = megyen[k];
  173.                         e1.s += tanulok[i].sum; e1.d++;
  174.                         megyen[k] = e1;
  175.                     }
  176.  
  177.                 }
  178.                
  179.             }
  180.            
  181.             // b. feladat
  182.             Console.WriteLine("\n\n1. feladat átlaga {0:0.00}\n2. feladat átlaga {1:0.00}\n3. feladat átlaga {2:0.00}", p1/tanulok.Length, p2/tanulok.Length, p3/tanulok.Length);
  183.            
  184.             // c. feladat
  185.             Console.WriteLine("\n\nA maximális pontszám: {0}\n\nMaximális pontszámot elért tanuló(k)",max);
  186.            
  187.             // d. feladat
  188.             for (int i = 0; i < tanulok.Length; i++) {
  189.                 if (tanulok[i].sum == max) {
  190.                     Console.WriteLine("{0}",tanulok[i].nev);
  191.                 }
  192.             }
  193.             Console.WriteLine("\n\nA nevek névsorban\n\n");
  194.            
  195.             // e. feladat
  196.             string nev, megye;
  197.             int t1, t2,t3, t4;
  198.             for (int i = 0; i < tanulok.Length-1; i++) {
  199.                 for (int j = i+1; j < tanulok.Length; j++) {
  200.                     if (String.Compare(tanulok[i].nev, tanulok[j].nev) == 1) {
  201.                         nev = tanulok[i].nev; megye = tanulok[i].megye;
  202.                         t1 = tanulok[i].f1; t2 = tanulok[i].f2; t3 = tanulok[i].f3; t4 = tanulok[i].sum;
  203.                         tanulok[i]=tanulok[j];
  204.                         tanulok[j].nev = nev; tanulok[j].megye = megye;
  205.                         tanulok[j].f1 = t1; tanulok[j].f2 = t2; tanulok[j].f3 = t3; tanulok[j].sum = t4;
  206.                     }
  207.                    
  208.                 }
  209.             }
  210.            
  211.            
  212.             for (int i = 0; i < tanulok.Length; i++) {
  213.                 Console.WriteLine("{0} pontszám: {1}", tanulok[i].nev, tanulok[i].sum);
  214.             }
  215.            
  216.             double sz1, sz2;
  217.             for (int i = 0; i < megyedb-1; i++) {
  218.                 for (int j = i+1; j < megyedb; j++) {
  219.                     sz1 = Convert.ToDouble(megyen[i].s);
  220.                     sz2 = Convert.ToDouble(megyen[j].s);
  221.                     if (sz1/megyen[i].d < sz2/megyen[j].d) {
  222.                         e1 = megyen[i];
  223.                         megyen[i]= megyen[j];
  224.                         megyen[j]=e1;
  225.                     }
  226.                    
  227.                 }
  228.             }
  229.            
  230.             Console.WriteLine("\nMegyék rangsora");
  231.             for (int i = 0; i < megyedb; i++) {
  232.                 Console.WriteLine("  {0} {1} {2:0.00}", i+1, megyen[i].nev,Convert.ToDouble(megyen[i].s)/megyen[i].d);
  233.             }
  234.            
  235.             Console.Write("\n\nPress any key to continue . . . ");
  236.             Console.ReadKey(true);
  237.         }
  238.     }
  239. }
  240.  
  241.  
  242.  
  243. /* Az eredmények
  244. Tanulok
  245. Nagy Nándor Botond: 362 pont
  246. Sajtos Zsombor: 410 pont
  247. Bondár Zsófia: 251 pont
  248. Ecsedi Bence: 388 pont
  249. Sarkadi Sándor: 372 pont
  250. Togyeriska Krisztina: 321 pont
  251. Bodnár Villő: 229 pont
  252. Kovács Csenge: 300 pont
  253. Vass Milán: 341 pont
  254. Csonka Orsolya: 316 pont
  255. Jenei Miklós: 356 pont
  256. Tóth Sándor: 312 pont
  257. Kiss Boglárka: 267 pont
  258. Péter Pence: 312 pont
  259. Péter Marcell: 207 pont
  260. Andrási Zsófi: 356 pont
  261. Jávorka Márton: 341 pont
  262. Kruppa Eszter: 256 pont
  263. Kolozsi Lizett: 269 pont
  264. Daniló Alexandra: 317 pont
  265. Barkaszi Viktor: 314 pont
  266. Ustea Dániel: 308 pont
  267. Tóth Dániel István: 330 pont
  268. Kovács Bence: 305 pont
  269. Kovács Máté: 256 pont
  270. Takács Zsombor: 284 pont
  271. Kovács Bianka: 293 pont
  272. Berettyán Csilla: 266 pont
  273. Kekecs Máté: 268 pont
  274. Csíkos Noel Zsolt: 237 pont
  275. Dinato Manuel: 350 pont
  276. Urbin Zsombor: 305 pont
  277. Zsoldos Ágnes: 332 pont
  278. Szopkó Dorina: 228 pont
  279. Polgári Zsófia: 296 pont
  280. Szántó Vivien: 247 pont
  281. Ari Attila: 288 pont
  282. Buzga Beatrix: 309 pont
  283. Kemecsei Márk: 266 pont
  284. Pásztor Kitti: 289 pont
  285. Halász Tímea: 285 pont
  286. Kemenyiczki Zsolt: 257 pont
  287. Homoky Márk: 281 pont
  288. Kovács Eszter: 271 pont
  289. Kenyeres Fanni: 340 pont
  290. Esze Rita Arienn: 304 pont
  291. Gyirán Péter: 223 pont
  292. Tóth Rebeka: 261 pont
  293. Al-Hamati Fatima: 291 pont
  294. Csáji Lili: 178 pont
  295. Kun Fanni: 333 pont
  296. Budai Vince: 282 pont
  297. Horváth Lili: 247 pont
  298. Szőke Zoltán: 229 pont
  299. Jenei Dóra: 300 pont
  300. Hanyu Norbert: 344 pont
  301. Révész Benjámin: 262 pont
  302. Görög Péter: 271 pont
  303. Zoltai Tamás: 259 pont
  304. Horváth Gábor: 340 pont
  305. Berényi Benedek: 312 pont
  306. Tarpai Diána: 349 pont
  307. Turán Levente: 220 pont
  308. Homoki Patrik János: 321 pont
  309. Nagy Dorina: 322 pont
  310. Dienes Levente: 260 pont
  311.  
  312. 1. feladat átlaga 84,030303030303
  313.  
  314. 2. feladat átlaga 102,621212121212
  315.  
  316. 3. feladat átlaga 107,227272727273
  317.  
  318.  
  319.  
  320. A maximális pontszám: 410
  321.  
  322. Maximális pontszámot elért tanuló(k)
  323. Sajtos Zsombor
  324.  
  325.  
  326. Nevek névsorban
  327. Al-Hamati Fatima pontszám: 291
  328. Andrási Zsófi pontszám: 356
  329. Ari Attila pontszám: 288
  330. Barkaszi Viktor pontszám: 314
  331. Berényi Benedek pontszám: 312
  332. Berettyán Csilla pontszám: 266
  333. Bodnár Villő pontszám: 229
  334. Bondár Zsófia pontszám: 251
  335. Budai Vince pontszám: 282
  336. Buzga Beatrix pontszám: 309
  337. Csáji Lili pontszám: 178
  338. Csíkos Noel Zsolt pontszám: 237
  339. Csonka Orsolya pontszám: 316
  340. Daniló Alexandra pontszám: 317
  341. Dienes Levente pontszám: 260
  342. Dinato Manuel pontszám: 350
  343. Ecsedi Bence pontszám: 388
  344. Esze Rita Arienn pontszám: 304
  345. Görög Péter pontszám: 271
  346. Gyirán Péter pontszám: 223
  347. Halász Tímea pontszám: 285
  348. Hanyu Norbert pontszám: 344
  349. Homoki Patrik János pontszám: 321
  350. Homoky Márk pontszám: 281
  351. Horváth Gábor pontszám: 340
  352. Horváth Lili pontszám: 247
  353. Jávorka Márton pontszám: 341
  354. Jenei Dóra pontszám: 300
  355. Jenei Miklós pontszám: 356
  356. Kekecs Máté pontszám: 268
  357. Kemecsei Márk pontszám: 266
  358. Kemenyiczki Zsolt pontszám: 257
  359. Kenyeres Fanni pontszám: 340
  360. Kiss Boglárka pontszám: 267
  361. Kolozsi Lizett pontszám: 269
  362. Kovács Bence pontszám: 305
  363. Kovács Bianka pontszám: 293
  364. Kovács Csenge pontszám: 300
  365. Kovács Eszter pontszám: 271
  366. Kovács Máté pontszám: 256
  367. Kruppa Eszter pontszám: 256
  368. Kun Fanni pontszám: 333
  369. Nagy Dorina pontszám: 322
  370. Nagy Nándor Botond pontszám: 362
  371. Pásztor Kitti pontszám: 289
  372. Péter Marcell pontszám: 207
  373. Péter Pence pontszám: 312
  374. Polgári Zsófia pontszám: 296
  375. Révész Benjámin pontszám: 262
  376. Sajtos Zsombor pontszám: 410
  377. Sarkadi Sándor pontszám: 372
  378. Szántó Vivien pontszám: 247
  379. Szopkó Dorina pontszám: 228
  380. Szőke Zoltán pontszám: 229
  381. Takács Zsombor pontszám: 284
  382. Tarpai Diána pontszám: 349
  383. Togyeriska Krisztina pontszám: 321
  384. Tóth Dániel István pontszám: 330
  385. Tóth Rebeka pontszám: 261
  386. Tóth Sándor pontszám: 312
  387. Turán Levente pontszám: 220
  388. Urbin Zsombor pontszám: 305
  389. Ustea Dániel pontszám: 308
  390. Vass Milán pontszám: 341
  391. Zoltai Tamás pontszám: 259
  392. Zsoldos Ágnes pontszám: 332
  393.  
  394. Megyék rangsora
  395.    1  Fejér megye  331,333333333333
  396.    2  Nógrád megye  310,142857142857
  397.    3  Békés megye  301,333333333333
  398.    4  Baranya megye  298,6
  399.    5  Pest megye  297,9
  400.    6  Somogy megye  288,428571428571
  401.    7  Zala megye  284,333333333333
  402.    8  Bács-Kikun megye  275,4
  403.    9  Csongrád megye  273,333333333333
  404.    10  Heves megye  272,75
  405. */
Add Comment
Please, Sign In to add comment