Advertisement
MariusPure

4. Darbsciausi mokinaiai sort by alphabet and by sum

Jun 7th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <fstream>
  4. #include <algorithm>
  5. #include <vector>
  6. #include <string>
  7. #include <iomanip>
  8. #include "N.D.h"
  9. using namespace std;
  10.  
  11. struct asmuo
  12. {
  13. string vardas;
  14. int sk[99];
  15. int skf = 0;
  16. int X;
  17. };
  18. int n = 0, k = 0;
  19. asmuo m[222];
  20. void skaitymas(int &n, int &k);
  21. void skaiciavimas(int n, int k);
  22.  
  23. int main()
  24. {
  25. skaitymas(n, k);
  26. skaiciavimas(n, k);
  27. }
  28. void skaitymas(int &n, int &k)
  29. {
  30. ifstream d("duom.txt");
  31. d >> n >> k;
  32. d.ignore();
  33. char x[15];
  34. for (int i = 1; i <= n; i++)
  35. {
  36. d.get(x, 15);
  37. m[i].vardas = x;
  38. for (int j = 1; j <= k; j++)
  39. {
  40. d >> m[i].sk[j];
  41. d.ignore();
  42. }
  43. }
  44. }
  45.  
  46. void skaiciavimas(int n, int k)
  47. {
  48. for (int i = 1; i <= n; i++)
  49. {
  50. m[i].X = i;
  51. for (int j = 1; j <= k; j++)
  52. {
  53. m[i].skf += m[i].sk[j];
  54. }
  55. }
  56.  
  57. for (int i = 1; i <= n; i++)
  58. {
  59. for (int j = 1; j <= n; j++)
  60. {
  61. if ((m[i].vardas < m[j].vardas) || ((m[i].vardas == m[j].vardas) && (m[i].skf < m[j].skf)))
  62. {
  63. swap(m[i].vardas, m[j].vardas);
  64. swap(m[i].skf, m[j].skf);
  65. swap(m[i].X, m[j].X);
  66. }
  67. }
  68. }
  69. for (int i = 1; i <= n; i++)
  70. {
  71. cout << m[i].vardas;
  72. for (int j = 1; j <= k; j++)
  73. {
  74. cout << m[m[i].X].sk[j];
  75. }
  76. cout << endl;
  77.  
  78. cout << m[i].vardas << m[i].skf << endl;
  79. }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement