hozer

[OOP]VencLab2

Oct 14th, 2014
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.08 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3. #include <cstring>
  4. using namespace std;
  5.  
  6. double norm(float *item, int size)
  7. {
  8.     float result = 1;
  9.     int i;
  10.     //перемножаем всё в векторе
  11.     for (i = 0; i < size; ++i)
  12.         result = result * item[i];
  13.     //расчленяем это квадратным корнем и возвращаем нафиг
  14.     return sqrt(result);
  15. }
  16.  
  17. int compare(int a, int b)
  18. {
  19.     if (a == b) return 0;// дані рівні;
  20.     else if (a > b) return 1; // перше  більше другого;
  21.     else return -1; //перше менше  другого
  22. }
  23.  
  24. int compare(char *a, char *b)
  25. {
  26.     return strcmp(a, b); // юзаем готовую функцию, ни к чему велосепеды, все равно работает как по условию
  27. }
  28.  
  29. int compare(float *a, float *b, int as, int bs)
  30. {
  31.     float an, bn;
  32.     //находим нормы
  33.     an = norm(a, as);
  34.     bn = norm(b, bs);
  35.     //аналогично числам
  36.     if (an == bn) return 0;
  37.     else if (an > bn) return 1;
  38.     else return -1;
  39. }
  40.  
  41.  
  42. int main()
  43. {
  44.     int a, b; //числа
  45.     char *sa = new char[512], *sb = new char[512]; //строки
  46.     int vas, vab; //размеры векторов
  47.     float *va, *vb; //векторы
  48.  
  49.     //вводим числа
  50.     cout << "input a b: ";
  51.     cin >> a >> b;
  52.     //строки
  53.     cout << "input first str: ";
  54.     cin >> sa;
  55.     cout << "input second str: ";
  56.     cin >> sb;
  57.     //векторы
  58.     cout << "input size: ";
  59.     cin >> vas;
  60.     va = new float[vas];
  61.     cout << "input vector: ";
  62.     for (int i = 0; i < vas; i++)
  63.         cin >> va[vas];
  64.  
  65.     cout << "input size: ";
  66.     cin >> vab;
  67.     vb = new float[vab];
  68.     cout << "input vector: ";
  69.     for (int i = 0; i < vab; i++)
  70.         cin >> va[vab];
  71.  
  72.     //сравниваем и выводим результаты, функции вызываем прямо в выводе, найдешь где, я думаю
  73.     cout << "compare integers - " << compare(a, b) << endl;
  74.     cout << "compare strings - " << compare(sa, sb) << endl;
  75.     cout << "compare vectors - " << compare(va, vb, vas, vab);
  76.  
  77.     cin.ignore();
  78.     cin.get();
  79.  
  80.     return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment