Advertisement
Guest User

elo

a guest
Nov 14th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.05 KB | None | 0 0
  1. //L4_F1_N1.cpp
  2. #include <iostream>
  3. #include <iomanip>
  4. #include <ctime>
  5. #include <cstdlib>
  6. using namespace std;
  7.  
  8. const int MLP = 50; // Maksymalna liczba pasażerów
  9. const int LDT = 7; // Liczba dni w tygodniu
  10. const int LG = 12; // Liczba godzin pomiaru dziennie
  11.  
  12. void wypisz (int t[LDT][LG]) // --- (B) wypisanie tablicy Bus na standardowe wyjście (ta funkcja to realizuje ) w funkcji main jest odwołanie do tej funkcji
  13. {
  14. cout << " |" ;
  15. for ( int godzina = 8; godzina < LG + 8; godzina++ ) {
  16. cout << setw(4) << godzina ;
  17. }
  18. cout << endl;
  19.  
  20. cout << "----" ;
  21. for ( int godzina = 8; godzina < LG + 8; godzina++ ) {
  22. cout << "----" ;
  23. }
  24. cout << endl;
  25.  
  26. for ( int dzien = 0; dzien < LDT; dzien++ ) {
  27. cout << "D" << dzien + 1 << " |";
  28. for ( int godzina = 0; godzina < LG; godzina++ ) {
  29. cout << setw(4) << t[dzien][godzina];
  30. }
  31. cout << endl;
  32. }
  33.  
  34. cout << "----" ;
  35. for ( int godzina = 8; godzina < LG + 8; godzina++ ) {
  36. cout << "----" ;
  37. }
  38. cout << endl;
  39. }
  40. int sumaW (int t[LDT][LG])
  41. {
  42. int suma = 0;
  43. for ( int dzien = 0; dzien < LDT; dzien++ ) {
  44. for ( int godzina = 0; godzina < LG; godzina++ ) {
  45. suma += t[dzien][godzina];
  46. }
  47. }
  48. return suma;
  49. }
  50. int sumaD (int t[LDT][LG], int d)
  51. {
  52.  
  53. int suma = 0; // przesłania zmienną o tej samej nazwie
  54. for ( int godzina = 0; godzina < LG; godzina++ ) {
  55. suma += t[d][godzina];
  56. }
  57. return suma;
  58.  
  59. }
  60. int maxD (int t[LDT][LG], int d)
  61. {
  62. int maximum = t[d][0];
  63. for ( int godzina = 1; godzina < LG; godzina++ ) {
  64. if ( t[d][godzina] > maximum ) {
  65. maximum = t[d][godzina];
  66. }
  67. }
  68. return maximum;
  69. }
  70. int minG (int t[LDT][LG], int d)
  71. {
  72. int min_godzina = 0;
  73. for ( int godzina = 1; godzina < LG; godzina++ ) {
  74. if ( t[d][godzina] < t[d][min_godzina] ) {
  75. min_godzina = godzina;
  76. }
  77. }
  78. return min_godzina;
  79. }
  80. void liczSR (int t[LDT][LG], double sr[])
  81. {
  82. for ( int godzina = 0; godzina < LG; godzina++ ) {
  83. sr[godzina] = 0;
  84. for ( int dzien = 0; dzien < LDT; dzien++ ) {
  85. sr[godzina] += t[dzien][godzina];
  86. }
  87. sr[godzina] = sr[godzina] / (1.0 * LDT);
  88. cout << "O godzinie " << godzina + 8 << ":00 kazdego dnia tygodnia "
  89. << "jechalo srednio " << sr[godzina] << " pasazerow" << endl;
  90. }
  91. }
  92. bool czyprzek (int t[LDT][LG], int prog , int &d,bool znaleziono)
  93. {
  94. if (znaleziono) {
  95. cout << "W dniu " << d << " liczba pasazerow przekroczyla " << prog << endl;
  96. } else {
  97. cout << "Kazdego dnia jechalo nie wiecej niz " << prog << " pasazerow" << endl;
  98. }
  99. }
  100.  
  101.  
  102.  
  103. int main()
  104. {
  105. int Bus[LDT][LG];
  106. srand(time(NULL));
  107. for ( int dzien = 0; dzien < LDT; dzien++ ) {
  108. for ( int godzina = 0; godzina < LG; godzina++ ) {
  109. Bus[dzien][godzina] = rand()% MLP + 1;
  110. }
  111. }
  112.  
  113. wypisz (Bus); //realizacja funkcji wypisz
  114.  
  115. cout << " W tygodniu jechalo " << sumaW(Bus) << " pasazerow" << endl; //odwołanie do funkcji sumaW
  116.  
  117. for ( int dzien = 0; dzien < LDT; dzien++ )
  118. {
  119. cout << " dnia " << dzien + 1 << " jechalo " << sumaD(Bus,dzien) << " pasazerow" << endl; //realizacja sumaD
  120. }
  121. for ( int dzien = 0; dzien < LDT; dzien++ ) {
  122.  
  123. cout << dzien + 1 << " dnia najwieksza liczba pasazerow to " << maxD(Bus,dzien) << endl; //realizacja maxD
  124. }
  125. for ( int dzien = 0; dzien < LDT; dzien++ ) {
  126.  
  127. cout << dzien + 1 << " dnia najmniej pasazerow jechalo o godzinie "
  128. << minG(Bus,dzien) + 8 << ":00" << endl; // realizacja minG
  129. }
  130.  
  131.  
  132.  
  133. double Srednia[LG];
  134. liczSR (Bus,Srednia); //wywołanie funkcji liczSR
  135.  
  136. // ----------------------------------------------------------- podpunkt e)
  137. // --- sprawdzenie przekroczenia progu
  138. int prog;
  139. cout << "Podaj wartosc progowa: ";
  140. cin >> prog;
  141.  
  142. bool znaleziono = false;
  143. int dzien = 0;
  144. while (!znaleziono && (dzien < LDT)) {
  145. // --- przeszukiwanie k-tego wiersza
  146. int godzina = 0;
  147. while (!znaleziono && (godzina < LG)) {
  148. znaleziono = (Bus[dzien][godzina++] > prog);
  149. }
  150. dzien++;
  151. }
  152.  
  153. czyprzek (Bus, prog,dzien,znaleziono);
  154.  
  155. system("PAUSE");
  156. return 0;
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement