PatrickSwayze

zad 5 roz 11

Jan 17th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.91 KB | None | 0 0
  1. /*
  2. Dla wektora N-elementowego zdefiniuj funkcję, która będzie obliczała normę wektora. Do
  3. wyboru są dwie metody: element o maksymalnej bezwzględnej wartości oraz pierwiastek z
  4. suma kwadratów. Domyślnym wyborem jest druga metoda. Napisz program, który będzie
  5. korzystał z tej funkcji.
  6. */
  7. #include <ctime>
  8. #include <cstdlib>
  9. #include <iostream>
  10. #include <vector>
  11. #include <cmath>
  12. using namespace std;
  13. int n,liczba;
  14.  
  15. namespace dzialania
  16. {
  17.     void losowanie (vector<float> &wek, int n)
  18.     {
  19.         float liczba;
  20.         cout<<"Wylosowane elementy wektora: "<<endl;
  21.         for (int i=0;i<n;i++)
  22.         {
  23.  
  24.             liczba=(-9)+( float ) rand() / RAND_MAX *( 19 );
  25.             wek.push_back(liczba);
  26.             cout<<"["<<i<<"]"<<wek[i]<<endl;
  27.         }
  28.     }
  29.  
  30.     void maax(vector<float> &wek, int n)
  31.     {
  32.         if (wek[0]<0) wek[0]*=(-1);
  33.  
  34.         float maksimum=wek[0];
  35.         for(int i=0;i<n;i++)
  36.         {
  37.             if (wek[i]<0) wek[i]*=(-1);
  38.             if(wek[i]>maksimum)
  39.                 maksimum=wek[i];
  40.         }
  41.         cout<<"Wartosc bezwgledna wynosi: |"<<maksimum<<"|"<<endl;
  42.     }
  43.     void drugamet(vector<float> &wek, int n)
  44.     {
  45.  
  46.  
  47.         float pierwiastek=0;
  48.         for(int i=0;i<n;i++)
  49.         {
  50.             pierwiastek+=pow(wek[i],2);
  51.         }
  52.         cout<<"Pierwiastek sumy kwadratow elementow wynosi: "<<sqrt(pierwiastek)<<endl;
  53.     }
  54.  
  55. }
  56. using namespace dzialania;
  57.  
  58. int main()
  59. {
  60.     vector<float> wek;
  61.     srand(time(NULL));
  62.     cout<<"Podaj ilosc elementow dla wektora: ";
  63.     cin>>n;
  64.     losowanie(wek,n);
  65.     cout<<"Program domyslnie liczy norme wektora pierwiastkujac sume kwadratow elementow.\nCzy chcesz to obliczyc za pomoca metoda wartosci maksymalnej bezwglednej? \nTAK-1, NIE-0"<<endl;
  66.     int wybor;
  67.     cin>>wybor;
  68.     if (wybor==1) maax(wek,n);
  69.     else if (wybor==0) drugamet(wek,n);
  70.     else return 0;
  71.  
  72.  
  73. return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment