Advertisement
VladimirKostovsky

Лаба 1. 4(б). Редакция 0.7

Mar 1st, 2022
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.60 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. using namespace std;
  5. float number;
  6. float number2;
  7. float number3;
  8.  
  9. struct polinomP { float data; float power; polinomP* next; } *S;
  10. void Read_polinomP(polinomP* S) // функция формирования списка
  11. {
  12.     polinomP* t;
  13.     t = S;
  14.  
  15.     ifstream F;
  16.     F.open("file1.txt");
  17.  
  18.     if (!F.is_open())
  19.     { cout << "Ошибка откытия файла" << endl; }
  20.     else {
  21.         cout << "Файл открыт" << endl;
  22.  
  23.         while (!F.eof())
  24.         {
  25.             F >> number; // заглавное звено
  26.             t->next = new polinomP;
  27.             t = t->next;
  28.  
  29.             t->data = number;
  30.             t->power = number;
  31.         }
  32.  
  33.         t->next = new polinomP;
  34.         t = t->next;
  35.  
  36.         t->data = number;
  37.         t->power = number;
  38.         t->next = NULL;
  39.     }
  40.     F.close();
  41. }
  42.  
  43. struct polinomQ { float data; float number2; polinomQ* next; } *S2;
  44. void Read_polinomQ(polinomQ* S2) { // функция формирования списка
  45.     polinomQ* t2;
  46.     t2 = S2;
  47.     ifstream F2;
  48.     F2.open("file2.txt");
  49.  
  50.     if (!F2.is_open())
  51.     { cout << "Ошибка откытия файла" << endl; }
  52.     else {
  53.         cout << "Файл открыт" << endl;
  54.  
  55.         while (!F2.eof())
  56.         {
  57.             F2 >> number2; // заглавное звено
  58.             t2->next = new polinomQ;
  59.             t2 = t2->next;
  60.             t2->data = number2;
  61.         }
  62.  
  63.         t2->next = new polinomQ;
  64.         t2 = t2->next;
  65.         t2->data = number2;
  66.  
  67.         t2->next = NULL;
  68.     }
  69.     F2.close();
  70. }
  71. struct polinomR { float data; float number3;  polinomR* next;} *S3;
  72. void Sum(polinomR* S3) {
  73.     polinomP *t;
  74.     polinomQ *t2;
  75.     polinomR *t3;
  76.     for (t = S, t2 = S2, t3 = S3; t->next != NULL && t2->next != NULL; t = t->next, t2 = t2->next) {
  77.         if ((t->data + t2->data) != 0)
  78.         {
  79.  
  80.  
  81.             t3->next = new polinomR;
  82.             t3 = t3->next;
  83.             t3->data = (t->data + t2->data);
  84.             t->power
  85.         }
  86.         else
  87.         {
  88.             t3 = 000;
  89.         }
  90.     }
  91. }
  92.  
  93. void Print(polinomP* S, polinomQ* S2, polinomR *S3)
  94. {
  95.     ofstream fout("file3.txt", ios_base::app);
  96.     polinomP* t;
  97.     fout << "polynom P" << endl;
  98.     for (t = S->next; t->next != NULL; t = t->next)
  99.     {
  100.         fout << t->data << " " << t->power << "| ";
  101.  
  102.     }
  103.     fout << endl;
  104.     polinomQ* t2;
  105.     fout << "polynom Q" << endl;
  106.     for (t2 = S2->next; t2->next != NULL; t2 = t2->next)
  107.     {
  108.         fout << t2->data << " ";
  109.     }
  110.     fout << endl;
  111.     polinomR* t3;
  112.     fout << "polinomR" << endl;
  113.     for (t3 = S3->next; t3->next != NULL; t3 = t3->next)
  114.     {
  115.         if (t != 000) {
  116.             fout << t3->data << " ";
  117.             }
  118.         else {
  119.             fout << " ";
  120.         }
  121.     }
  122. }
  123. int main()
  124. {
  125.     setlocale(LC_ALL, "RUS");
  126.     S = new polinomP;
  127.     S2 = new polinomQ;
  128.     S3 = new polinomR;
  129.     Read_polinomP(S);
  130.     Read_polinomQ(S2);
  131.     Sum(S3);
  132.     Print(S, S2, S3);
  133. }
  134.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement