Advertisement
Kiparisss

Untitled

Dec 15th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. #include<iostream>
  2. #include<locale.h>
  3. using namespace std;
  4. void inputVector(float* vector, int dim)
  5. {
  6. for (int i = 0; i < dim; i++)
  7. cin >> vector[i];
  8. }
  9. float getMin(float* vector, int dim)
  10. {
  11. float min = vector[0];
  12. for (int i = 1; i < dim; i++)
  13. if (vector[i] < min) min = vector[i];
  14. return min;
  15. }
  16. float calcScalar(float* vectorP, float* vectorQ, int dim)
  17. {
  18. float sum = 0;
  19. for (int i = 0; i < dim; i++)
  20. sum += vectorP[i] * vectorQ[i];
  21. return sum;
  22. }
  23. void main()
  24. {
  25. setlocale(LC_CTYPE, "RUSSIAN");
  26. int dim;
  27. float minX, minY, minZ;
  28. float result;
  29. cout << "Введите размерность векторов: ";
  30. cin >> dim;
  31. if (dim <= 0)
  32. {
  33. cout << "Неверная размерность.";
  34. return;
  35. }
  36. float* x = new float[dim];
  37. float* y = new float[dim];
  38. float* z = new float[dim];
  39. cout << "Введите элементы вектора x: ";
  40. inputVector(x, dim);
  41. cout << "Введите элементы вектора y: ";
  42. inputVector(y, dim);
  43. cout << "Введите элементы вектора z: ";
  44. inputVector(z, dim);
  45. minX = getMin(x, dim);
  46. minY = getMin(y, dim);
  47. minZ = getMin(z, dim);
  48. if ((minX > minY) && (minX > minZ))
  49. result = calcScalar(x, x, dim) - calcScalar(y, z, dim);
  50. else
  51. if ((minY > minX) && (minY > minZ))
  52. result = calcScalar(y, y, dim) - calcScalar(x, z, dim);
  53. else
  54. if ((minZ > minX) && (minZ > minY))
  55. result = calcScalar(z, z, dim) - calcScalar(x, y, dim);
  56. else
  57. {
  58. cout << "Вектор с самым большим минимальным элементом не единственен.";
  59. return;
  60. }
  61. cout << result;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement