mituri

[C++] (p) klasa wektor

Jan 12th, 2016
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. /*
  2.  
  3. Zbuduj klasę Wektor2 do obsługi wektorów w przestrzeni dwuwymiarowej. Wektor jest reprezentowany za pomocą pary swoich składowych x i y: v = (x,y). Klasa Wektor2 powinna mieć następujące składowe:
  4. class Wektor2 {
  5.  
  6. double x,y;
  7. public:
  8. Wektor2() {} // konstruktor bezargumentowy
  9. Wektor2(double a, double b) // konstruktor o dwóch argumentach
  10. double iloczyn(Wektor2& a); // iloczyn skalarny dwóch wektorów
  11. bool jestProstopadly(Wektor2& a); // sprawdzenie, czy wektory są
  12. // prostopadłe
  13. bool niezero();
  14. void wyswietl(); // wyświetlanie wektora w postaci (x,y)
  15. };
  16. Napisz krótki program testujący opracowaną klasę.
  17. (Wskazówka: dwa niezerowe wektory są prostopadłe, jeśli ich iloczyn skalarny wynosi 0.
  18. */
  19.  
  20.  
  21. // zad7Hawryl2.cpp : Defines the entry point for the console application.
  22. //
  23.  
  24. #include "stdafx.h"
  25.  
  26. #include <iostream>
  27. #include <string>
  28.  
  29. using namespace std;
  30.  
  31. class Wektor2 {
  32. private:
  33. double x,y;
  34. public:
  35.  
  36. // konstruktor bezargumentowy
  37. Wektor2() {
  38. x = 0;
  39. y = 0;
  40. }
  41.  
  42. // konstruktor o dwóch argumentach
  43. Wektor2(double a, double b){
  44. x = a;
  45. y = b;
  46. }
  47.  
  48. // iloczyn skalarny dwóch wektorów
  49. double iloczyn(Wektor2& a){
  50. return x * a.x + y * a.y;
  51. }
  52.  
  53. // sprawdzenie, czy wektory są prostopadłe
  54. bool jestProstopadly(Wektor2& a){
  55. //dwa niezerowe wektory są prostopadłe, jeśli ich iloczyn skalarny wynosi 0.
  56. if(niezero() == true && a.niezero() == true){
  57. if(iloczyn(a) == true) return true;
  58. }
  59. return false;
  60. }
  61.  
  62. //czy wektor ma wartosci zerowe
  63. bool niezero(){
  64. if(x == 0 && y ==0) return false;
  65. else return true;
  66. }
  67.  
  68. // wyświetlanie wektora w postaci (x,y)
  69. void wyswietl(){
  70. cout << "x: " << x << "y: " << y << endl;
  71. }
  72. };
  73.  
  74.  
  75. int _tmain(int argc, _TCHAR* argv[]){
  76.  
  77. Wektor2 w1(3,2), w2(4,7), w3(0,0);
  78.  
  79. cout << "czy w3 niezerowe? : " << w3.niezero() << endl;
  80.  
  81. cout << w1.iloczyn(w2) << endl;
  82.  
  83. getchar();
  84. return 0;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment