wonman

Untitled

Feb 27th, 2015
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.81 KB | None | 0 0
  1. /*Stwórz structure wielomian składającą się ze stopnia wilomianu i tablicy przechowującej jego współczynniki oraz dwóch funkcjiskładowych wpisz(wprowadzamy stopień i współczynnikiz klawiatury) i wypisz(wypisuje wilomian na ekranie).
  2. Napisz dwie funkcje globalne suma(funkcja zwraca sumę dwóch wilomianow przesłanych jako argumenty) oraz iloczyn (funkcja zwraca iloczyn dwóch wielomianów przesłanych jako argumenty).W funkcji main stwórz dwa wielomiany, wprowadz wspolczynnik, policz ich sumę orz iloczyn i wypisz wyniki na ekranie.*/
  3. #include <iostream>
  4. using namespace std;
  5. struct wielomian
  6. {       int stopien;
  7.         int *wspolczynniki;
  8.         void wprowadz()
  9.         {
  10.                 cout<<"Podaj stopien wielomaianu "<<endl;
  11.                 cin>>stopien;
  12.                 int *tablica=new int[stopien];          
  13.                 for(int i=0;i<=stopien;i++)
  14.                 {       cout<<"podaj wspolczynnik x "<<i<<endl;
  15.                         cin>>tablica[i];
  16.                        
  17.                 }
  18.                
  19.                 wspolczynniki=tablica;
  20.                                
  21.         }
  22.         void wypisz()
  23.         {
  24.                 cout<<"Przedstawiam wielomian "<<endl;
  25.                
  26.                 for(int i=0;i<=stopien;i++)
  27.                 cout<<"x"<<i<<" = "<<wspolczynniki[i]<<endl;
  28.         }
  29.                
  30. };
  31.  
  32. wielomian *suma(wielomian w1,wielomian w2)
  33.  
  34. {
  35.         if(w1.stopien>w2.stopien)
  36.         {
  37.                 wielomian *w3=new wielomian;
  38.                 w3->stopien=w1.stopien;
  39.                        
  40.                 w3->wspolczynniki = new int[w3->stopien];
  41.                         for(int i=0;i<=w2.stopien;i++)
  42.                                 w3->wspolczynniki[i]=w1.wspolczynniki[i]+w2.wspolczynniki[i];
  43.                         for(int i=w2.stopien+1;i<=w1.stopien;i++)
  44.                
  45.                         w3->wspolczynniki[i]=w1.wspolczynniki[i];
  46.                         return w3;
  47.         }
  48.        
  49.         if(w1.stopien==w2.stopien)
  50.         {
  51.                 wielomian *w3=new wielomian;
  52.                 w3->stopien=w1.stopien;
  53.                 w3->wspolczynniki = new int[w3->stopien];              
  54.                          for(int i=0;i<=w1.stopien;i++)
  55.                         w3->wspolczynniki[i]=w1.wspolczynniki[i]+w2.wspolczynniki[i];
  56.                 return w3;
  57.         }
  58.        
  59.         if(w1.stopien<w2.stopien)
  60.         {
  61.                 wielomian *w3=new wielomian;
  62.                 w3->stopien=w2.stopien;
  63.            w3->wspolczynniki = new int[w3->stopien];
  64.                                
  65.                 for(int i=0;i<=w1.stopien;i++)
  66.                 w3->wspolczynniki[i]=w1.wspolczynniki[i]+w2.wspolczynniki[i];
  67.                 for(int i=w1.stopien+1;i<=w2.stopien;i++)
  68.                 w3->wspolczynniki[i]=w2.wspolczynniki[i];
  69.        
  70.         return w3;
  71.         }
  72.  
  73. }
  74.  
  75. wielomian *iloczyn(wielomian w1,wielomian w2)
  76.  
  77. {
  78.         if(w1.stopien>w2.stopien)
  79.         {
  80.                 wielomian *w3=new wielomian;
  81.                 w3->stopien=w1.stopien;
  82.                        
  83.                 w3->wspolczynniki = new int[w3->stopien];
  84.                         for(int i=0;i<=w2.stopien;i++)
  85.                                 w3->wspolczynniki[i]=w1.wspolczynniki[i]*w2.wspolczynniki[i];
  86.                         for(int i=w2.stopien+1;i<=w1.stopien;i++)
  87.                
  88.                         w3->wspolczynniki[i]=0;
  89.                         return w3;
  90.         }
  91.        
  92.        
  93.         if(w1.stopien==w2.stopien)
  94.         {
  95.                
  96.                 wielomian *w3=new wielomian;
  97.                 w3->stopien=w2.stopien;                
  98.                 w3->wspolczynniki = new int[w3->stopien];
  99.                
  100.                
  101.                         for(int i=0;i<=w1.stopien;i++)
  102.                         w3->wspolczynniki[i]=w1.wspolczynniki[i]*w2.wspolczynniki[i];
  103.                        
  104.                         return w3;
  105.         }
  106.        
  107.         if(w1.stopien<w2.stopien)
  108.         {
  109.                
  110.         wielomian *w3=new wielomian;
  111.                 w3->stopien=w2.stopien;
  112.                        
  113.                 w3->wspolczynniki = new int[w3->stopien];
  114.                         for(int i=0;i<=w1.stopien;i++)
  115.                                 w3->wspolczynniki[i]=w1.wspolczynniki[i]*w2.wspolczynniki[i];
  116.                         for(int i=w1.stopien+1;i<=w2.stopien;i++)
  117.                
  118.                         w3->wspolczynniki[i]=0;
  119.                         return w3;
  120.         }
  121.  
  122. }
  123.  
  124. int main()
  125. {      
  126.     wielomian pierwszy,drugi;
  127.     pierwszy.wprowadz();
  128.     drugi.wprowadz();      
  129.     cout<<"SUMA"<<endl;    
  130.     wielomian *nowy=suma(pierwszy,drugi);
  131.     nowy->wypisz();
  132.     nowy=iloczyn(pierwszy,drugi);
  133.     cout<<"ILOCZYN"<<endl;
  134.     nowy->wypisz();
  135. }
Advertisement
Add Comment
Please, Sign In to add comment