Advertisement
miljdze

Untitled

Dec 14th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.51 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6.  
  7. namespace ConsoleApplication162
  8. {
  9. class Program
  10. {
  11. /* Zadatak je bio da se omoguci unos studenata(ime,prezime,poeni) sve dok se ne unese "end", treba ih ispisati
  12. * i sacuvati u fajlu, isto tako i kad sledeci put pokrenes program da se iscitaju studenti iz fajla, z
  13. * atim da se napravi matrica 3x3 od poena studenata, ako ih nema dovoljno, odnosno ako se matrica ne popuni do kraja ispise se greska
  14. * i zavrsi se program, u suprotnom tu matricu sabrati sa unetom kvadratnom matricom sa tastature i ispisati u novi fajl,
  15. * ako se ne mogu sabrati, sabrati sume njihovih glavnih dijagonala
  16. * i upisati u fajl, i bilo je jos da se na konzoli ispisu svi studenti sortirani po prezimenu, mislim da je to to
  17. * */
  18. struct Student
  19. {
  20. public string ime;
  21. public string prezime;
  22. public int brPoena;
  23. }
  24. static int[,] UnosMatrice()
  25. {
  26. Console.WriteLine("Unesite broj redova matrice: ");
  27. int br = int.Parse(Console.ReadLine());
  28. Console.WriteLine("Unesite broj kolona: ");
  29. int bk = int.Parse(Console.ReadLine());
  30. int[,] matrica = new int[br, bk];
  31. Console.WriteLine("Unesite elemente u matricu: ");
  32. for (int i = 0; i < br; i++)
  33. {
  34. for (int j = 0; j < bk; j++)
  35. {
  36. matrica[i, j] = int.Parse(Console.ReadLine());
  37. }
  38.  
  39. }
  40. return matrica;
  41. }
  42. static int[,] matrica3x3(List<Student> Lista)
  43. {
  44. int dim = 3;
  45. int[,] matrica = new int[3,3];
  46. for (int i = 0; i < 3; i++)
  47. {
  48. for (int j = 0; j < 3; j++)
  49. {
  50. foreach (var el in Lista)
  51. {
  52. matrica[i, j] = el.brPoena;
  53. }
  54. }
  55. }
  56. return matrica;
  57.  
  58. }
  59. static int[,] ZbirMatrica(int[,] matrica1, int[,] matrica2)
  60. {
  61. StreamWriter sw = new StreamWriter("Matrice.txt");
  62. int[,] sumMatrica = new int[matrica1.GetLength(0), matrica1.GetLength(1)];
  63. for (int i = 0; i < sumMatrica.GetLength(0); i++)
  64. {
  65. for (int j = 0; j < sumMatrica.GetLength(1); j++)
  66. {
  67. sumMatrica[i, j] = matrica1[i, j] + matrica2[i, j];
  68. }
  69.  
  70. }
  71. for (int i = 0; i < sumMatrica.GetLength(0); i++)
  72. {
  73. for (int j = 0; j < sumMatrica.GetLength(1); j++)
  74. {
  75. sw.Write(sumMatrica[i,j] + " ");
  76. }
  77. sw.WriteLine();
  78. }
  79. sw.Close();
  80. return sumMatrica;
  81.  
  82.  
  83. }
  84. static int sumDiagonala(int[,] matrica1, int[,] matrica2)
  85. {
  86. StreamWriter sw = new StreamWriter("SumaDijagonala.txt");
  87. int sumDiagonala1 = 0;
  88. int sumDiagonala2 = 0;
  89. int sumDiagonala3 = 0;
  90. for (int i = 0; i < matrica1.GetLength(0); i++)
  91. {
  92. for (int j = 0; j < matrica1.GetLength(1); j++)
  93. {
  94. if(i==j)
  95. {
  96. sumDiagonala1 = sumDiagonala1 + matrica1[i, j];
  97. }
  98.  
  99. }
  100. }
  101. for (int i = 0; i < matrica2.GetLength(0); i++)
  102. {
  103. for (int j = 0; j < matrica2.GetLength(1); j++)
  104. {
  105. if (i == j)
  106. {
  107. sumDiagonala2 = sumDiagonala2 + matrica2[i, j];
  108. }
  109.  
  110. }
  111. }
  112.  
  113. sumDiagonala3 = sumDiagonala1 + sumDiagonala2;
  114. sw.WriteLine("Suma dijagonala matrica je: {0}", sumDiagonala3);
  115. sw.Close();
  116. return sumDiagonala3;
  117.  
  118. }
  119.  
  120.  
  121.  
  122. static void Main(string[] args)
  123. {
  124. List<Student> SviStudenti = new List<Student>();
  125. Student student;
  126. string imeFajla = "Studenti.txt";
  127. string opcija;
  128. if (File.Exists(imeFajla))
  129. {
  130. StreamReader f = File.OpenText(imeFajla);
  131.  
  132. foreach (var stud in SviStudenti)
  133. {
  134.  
  135. student.ime = f.ReadLine();
  136. student.prezime = f.ReadLine();
  137. student.brPoena = int.Parse(f.ReadLine());
  138. }
  139.  
  140. f.Close();
  141. }
  142.  
  143. do {
  144. Console.WriteLine("Unesite ime studenta: ");
  145. student.ime = Console.ReadLine();
  146. opcija = student.ime;
  147. if (opcija == "end")
  148. break;
  149. Console.WriteLine("Unesite prezime studenta: ");
  150. student.prezime = Console.ReadLine();
  151. opcija = student.prezime;
  152. if (opcija == "end")
  153. break;
  154. Console.WriteLine("Unesite broj poeana studenta: ");
  155. student.brPoena = int.Parse(Console.ReadLine());
  156. SviStudenti.Add(student);
  157.  
  158.  
  159. } while(opcija != "end");
  160.  
  161. if (SviStudenti.Count < 9)
  162. {
  163. Console.WriteLine("GRESKA");
  164. }
  165. else
  166. {
  167. int[,] matrica = matrica3x3(SviStudenti);
  168. int[,] matricaTast = UnosMatrice();
  169. if (matrica.GetLength(0) == matricaTast.GetLength(0) && matrica.GetLength(1) == matricaTast.GetLength(1))
  170. {
  171. ZbirMatrica(matrica, matricaTast);
  172.  
  173. }
  174. else
  175. {
  176. sumDiagonala(matrica, matricaTast);
  177. }
  178.  
  179. }
  180. foreach (var st in SviStudenti)
  181. {
  182. string[] studenti = new string[SviStudenti.Count];
  183. studenti[2] = Convert.ToString(st.brPoena);
  184. studenti[1] = st.ime;
  185. studenti[0] = st.prezime;
  186.  
  187. Console.WriteLine("Prezime: {0}, Ime {1}, BrPoena {2}", studenti[0], studenti[1], studenti[3]);
  188.  
  189. }
  190.  
  191.  
  192. StreamWriter sw = File.CreateText(imeFajla);
  193. foreach (var stud in SviStudenti)
  194. {
  195. sw.WriteLine(stud.ime);
  196. sw.WriteLine(stud.prezime);
  197. sw.WriteLine(stud.brPoena);
  198. }
  199.  
  200. sw.Close();
  201. Console.ReadKey();
  202.  
  203.  
  204.  
  205.  
  206. }
  207. }
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement