Advertisement
Guest User

Untitled

a guest
Nov 19th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.90 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <iostream>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6.  
  7. struct Polinomial
  8. {
  9.     int coefficient;
  10.     int expX;
  11.     int expY;
  12.     int expZ;
  13.     Polinomial *next;
  14. };
  15. typedef Polinomial* Point;
  16.  
  17. void Create(Point &List)
  18. {
  19.     Point P, Last = NULL;
  20.     char ch;
  21.     int counter = 0;
  22.  
  23.     cout << "Nov element (Y/N) ?:";
  24.     cin >> ch;
  25.  
  26.     while (ch == 'Y' || ch == 'y')
  27.     {
  28.         counter++;
  29.         P = new Polinomial;
  30.  
  31.         cout << "Element nomer " << counter << ":" << endl;
  32.         cout << "Vuvedete koeficient na polinoma:";
  33.         cin >> P->coefficient;
  34.         cout << "Vuvedete stepen na x:";
  35.         cin >> P->expX;
  36.         cout << "Vuvedete stepen na y:";
  37.         cin >> P->expY;
  38.         cout << "Vuvedete stepen na z:";
  39.         cin >> P->expZ;
  40.  
  41.         P->next = NULL;
  42.         if (List == NULL)
  43.             List = P;
  44.         else
  45.             Last->next = P;
  46.  
  47.         Last = P;
  48.         cout << "Nov element ?:";
  49.         cin >> ch;
  50.  
  51.     }
  52. }
  53. void PrintPolynomial(Point P)
  54. {
  55.     while (P)
  56.     {
  57.         char sign = ((P->coefficient >= 0) ? '+' : '-'); //Решава какъв знак да сложи преди коефициента (+ или -)
  58.         cout << sign << abs(P->coefficient) << "*x^" << P->expX << "*y^" << P->expY << "*z^" << P->expZ;
  59.         P = P->next;
  60.     }
  61.     cout << endl;
  62. }
  63.  
  64. int CalculatePolynomial(Point List)
  65. {
  66.     int valueX, valueY, valueZ, total = 0, counter = 0;
  67.  
  68.     while (List)
  69.     {
  70.         counter++;
  71.  
  72.         cout << "Element nomer " << counter << ":" << endl;
  73.         cout << "--Vuvedete stoinost na x: " << endl;
  74.         cin >> valueX;
  75.         cout << "--Vuvedete stoinost na y: " << endl;
  76.         cin >> valueY;
  77.         cout << "--Vuvedete stoinost na z: " << endl;
  78.         cin >> valueZ;
  79.  
  80.         total += List->coefficient * pow(valueX, List->expX) * pow(valueY, List->expY) * pow(valueZ, List->expZ);
  81.         List = List->next;
  82.     }
  83.     return total;
  84. }
  85.  
  86. void main()
  87. {
  88.     Point List = NULL;
  89.     Create(List);
  90.     PrintPolynomial(List);
  91.     int result = CalculatePolynomial(List);
  92.     cout << "Sumata na polinoma e: " << result << endl;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement