SkeptaProgrammer

Untitled

Dec 24th, 2019
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. // task4.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
  2. //
  3.  
  4. /*
  5. 3 конвейера работают независимо друг от друга. На первом детали Н типов 2 и 3 пустые. Время обработки детали каждого типа задаётся матрицей N строк 3 столбца
  6. после обработки с конвейера к она переходит к конвейреру к+1. После 3-го она называется изготовленной требуется по начальному располложению деталей узнать
  7. через сколько будет изготовлена каждая деталь.
  8. */
  9.  
  10. #include "pch.h"
  11. #include <iostream>
  12. #include <random>
  13. #include <time.h>
  14. using namespace std;
  15. const int N = 10;
  16.  
  17. struct List
  18. {
  19. float data;
  20. List *next;
  21. };
  22.  
  23. List *makeList(float (&time)[N][3], int clmn)
  24. {
  25. List *first = new List;
  26. List *next = new List;
  27. first->next = nullptr;
  28. for(int i = 0; i < N; i++)
  29. {
  30. if (first->next == nullptr)
  31. {
  32. first->data = time[i][clmn];
  33. first->next = next;
  34. }
  35. else
  36. {
  37. next->next = new List;
  38. next->data = time[i][clmn];
  39. next = next->next;
  40. }
  41. }
  42. next->next = nullptr;
  43. return first;
  44. }
  45.  
  46. float randNum()
  47. {
  48. float a=0, b=0;
  49. a = rand() % 101 + 11;
  50. b = rand() % 101;
  51. b < 100 ? b /= 100 : b /= 1000;
  52. return a + b;
  53. }
  54.  
  55. void destroyList(List *lst)
  56. {
  57. List *fDel1 = lst->next, *fDel2 = lst;
  58. delete[] fDel2;
  59. while (fDel1->next != nullptr)
  60. {
  61. fDel2 = fDel1->next;
  62. delete[] fDel1;
  63. fDel1 = fDel2;
  64. }
  65. delete[] fDel1;
  66. }
  67.  
  68.  
  69. int main()
  70. {
  71. srand(time(0));
  72. setlocale(0, "");
  73. float time[N][3]; List *q1, *q2, *q3, *fq1,*fq2,*fq3;
  74. for (int i = 0; i < N; i++)
  75. {
  76. for (int j = 0; j < 3; j++)
  77. {
  78. time[i][j] = randNum();
  79. }
  80. }
  81. for (int i = 0; i < N; i++)
  82. {
  83. for (int j = 0; j < 3; j++)
  84. {
  85. cout << time[i][j] << " ";
  86. }
  87. cout << endl;
  88. }
  89. ///*
  90. fq1 = makeList(time, 0);
  91. fq2 = makeList(time, 1);
  92. fq3 = makeList(time, 2);
  93. q1 = fq1; q2 = fq2; q3 = fq3;
  94. int i = 1;
  95. while (q1->next != nullptr)
  96. {
  97. cout << q1->data + q2->data + q3->data << " - время изготовления " << i++ << " детали" << endl;
  98. q1 = q1->next;
  99. q2 = q2->next;
  100. q3 = q3->next;
  101. }
  102. destroyList(fq1);
  103. destroyList(fq2);
  104. destroyList(fq3);
  105. //*/
  106. return 0;
  107. }
Add Comment
Please, Sign In to add comment