Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  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 _20191120
  9. {
  10. class Program
  11. {
  12. struct diákadatok
  13. {
  14. public string név;
  15. public string nem;
  16. public int pont;
  17. public int jegy;
  18. }
  19.  
  20. static void Main(string[] args)
  21. {
  22. StreamReader fájlbe = new StreamReader("iskola_1évfolyam1osztály27diák.txt");
  23.  
  24. diákadatok[] diák = new diákadatok[27];
  25. int i = 0;
  26. string[] sor = new string[4];
  27.  
  28. for (i = 0; i < 27; i++)
  29. {
  30. sor = fájlbe.ReadLine().Split(';');
  31. diák[i].név = sor[0];
  32. diák[i].nem = sor[1];
  33. diák[i].pont = Convert.ToInt32(sor[2]);
  34. diák[i].jegy = Convert.ToInt32(sor[3]);
  35. }
  36.  
  37. fájlbe.Close();
  38.  
  39. //FELADAT1
  40. //adatok sorba rendezése név alapján növekvően
  41. //buborékos megoldás
  42.  
  43. diákadatok csere;
  44. int j = 0;
  45.  
  46. for (i = 27-1; i > 0; i--)
  47. for (j = 0; j < i; j++)
  48. if (string.Compare(diák[j].név, diák[j+1].név)>0)
  49. {
  50. csere = diák[j];
  51. diák[j] = diák[j + 1];
  52. diák[j + 1] = csere;
  53. }
  54.  
  55. for (i = 0; i < 27; i++)
  56. Console.WriteLine("{0}\t{1}",diák[i].név, diák[i].pont);
  57.  
  58. Console.WriteLine();
  59.  
  60. //FELADAT2
  61. //adatok rendezése nemenként, azon belül pontszám csökkenően
  62. //buborékos megoldás
  63.  
  64. for (i = 27 - 1; i > 0; i--)
  65. for (j = 0; j < i; j++)
  66. if (string.Compare(diák[j].nem, diák[j + 1].nem) > 0)
  67. {
  68. csere = diák[j];
  69. diák[j] = diák[j + 1];
  70. diák[j + 1] = csere;
  71. }
  72.  
  73. for (i = 27 - 1; i > 0; i--)
  74. for (j = 0; j < i; j++)
  75. if (string.Compare(diák[j].nem, diák[j + 1].nem) == 0
  76. && diák[j].pont < diák[j+1].pont)
  77. {
  78. csere = diák[j];
  79. diák[j] = diák[j + 1];
  80. diák[j + 1] = csere;
  81. }
  82.  
  83. Console.WriteLine("{0}\t{1}", diák[0].név, diák[0].pont);
  84.  
  85. for (i = 1; i < 27; i++)
  86. if(diák[i].nem!=diák[i-1].nem)
  87. Console.WriteLine("{0}\t{1}", diák[i].név, diák[i].pont);
  88.  
  89. Console.WriteLine();
  90.  
  91.  
  92.  
  93.  
  94.  
  95. Console.ReadKey();
  96. }
  97. }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement