Advertisement
Guest User

Untitled

a guest
Feb 10th, 2022
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. #include <windows.h>
  2. #include <string>
  3. #include <iostream>
  4. #include <iomanip>
  5.  
  6. using namespace std;
  7.  
  8. char pred[5][25]= {"Математика", "Физика", "Химия", "Физкультура", "Русский язык"};
  9. int lekc[5]= {15,35,24,6,23};
  10. int prkt[5]= {2,4,8,10,3};
  11. int sem[5]= {1,1,1,2,3};
  12.  
  13. struct tDisc
  14. {
  15. char nameDisc[25]; //название дисциплины
  16. int numLec; //лекционных часов
  17. int numPract; //практических часов
  18. int numbSem; //номер семестра
  19. };
  20.  
  21. void Sort(tDisc *q, int n)
  22. {
  23. for (int i = 0; i < n; i++)
  24. {
  25. for (int j = 0; j < n - i - 1; j++)
  26. {
  27. if (q[j].numPract < q[j + 1].numPract)
  28. {
  29. q[n]= q[j];
  30. q[j]= q[j+1];
  31. q[j+1]= q[n];
  32. }
  33. }
  34. }
  35. }
  36. void OutList(tDisc *q, int n)
  37. {
  38. cout << setw(15) << "Предмет" << setw(10) << "Лекции" << setw(10);
  39. cout << "Практика" << setw(10) << "Семестр" << endl << endl;
  40. for (int i = 0; i < n; i++)
  41. {
  42. cout << setw(15) << q[i].nameDisc << setw(10) << q[i].numLec << setw(10);
  43. cout << q[i].numPract << setw(10) << q[i].numbSem << endl;
  44. }
  45. cout <<endl << endl;
  46. }
  47.  
  48. int main(int argc, char **argv)
  49. {
  50. system("chcp 1251 > nul"); // Руссификация сообщений
  51. setlocale(LC_ALL, "Russian");
  52.  
  53. const int n = 5;
  54. tDisc *aray = new tDisc[n*sizeof(tDisc)]; // Проверка на выделение памяти ОБЯЗАТЕЛЬНО
  55.  
  56. tDisc *paray = new tDisc[n+1];
  57.  
  58. for (int i = 0; i < n; i++)
  59. {
  60. strcpy(aray[i].nameDisc, pred[i]) ;
  61. aray[i].numLec = lekc[i];
  62. aray[i].numPract = prkt[i];
  63. aray[i].numbSem = sem[i];
  64.  
  65. paray[i] = aray[i];
  66. }
  67.  
  68. OutList(paray,n);
  69.  
  70. Sort(paray, n);
  71.  
  72. cout << endl << "Cортировка указателей на структуры по записи ПРАКТИКА" << endl;
  73. OutList(paray,n);
  74.  
  75. cout << endl << "Несортированное расположение структур в памяти" << endl;
  76. OutList(aray,n);
  77.  
  78. delete [] aray; delete [] paray;
  79.  
  80. system("pause"); // system("pause > nul");
  81. return 0;
  82. }
  83.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement