Advertisement
SkeptaProgrammer

Untitled

Oct 16th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement