今日のソース
とんかつソースじゃなくてねw見たかったら見てねw
マジで殴り書きでどうしようもないくらいはずかすぃいけど・・・・
どっかからコンパイラをゲットしてくれば動くはずです。
ちょっとは大学生的だよね?宮本君よりはいけてるよね?
#include<iostream> #include<cmath> using namespace std; class Vec3d{ private: double x,y,z; public: Vec3d(double a=0, double b=0, double c=0){ x=a;y=b;z=c; } double operator% (Vec3d k){ return x*k.x + y*k.y + z*k.z ; } double size(){ return sqrt(x*x+y*y+z*z) ; } bool cross(Vec3d k){ if(x*k.x + y*k.y + z*k.z==0) return true; else return false; } bool parallel(Vec3d k){ Vec3d a(y*k.z-z*k.y , z*k.x-x*k.z , x*k.y-y*k.x); if(!a.size()) return true; else return false; } friend Vec3d operator+(Vec3d,Vec3d); friend Vec3d operator*(Vec3d,Vec3d); friend Vec3d operator*(Vec3d,double); friend Vec3d operator*(double,Vec3d); friend Vec3d operator-(Vec3d,Vec3d); friend istream& operator>>(istream& , Vec3d&); friend ostream& operator<<(ostream& , Vec3d); }; Vec3d operator* (Vec3d i , double j){ return Vec3d(i.x*j , i.y*j , i.z*j); } Vec3d operator* (double i , Vec3d j){ return Vec3d(i*j.x , i*j.y , i*j.z); } Vec3d operator* (Vec3d i , Vec3d j){ return Vec3d(i.y*j.z-i.z*j.y , i.z*j.x-i.x*j.z , i.x*j.y-i.y*j.x); } Vec3d operator+ (Vec3d i , Vec3d j){ return Vec3d(i.x+j.x , i.y+j.y , i.z+j.z); } Vec3d operator- (Vec3d i , Vec3d j){ return Vec3d(i.x-j.x , i.y-j.y , i.z-j.z); } istream& operator>>(istream &inst , Vec3d &k) { return inst>>k.x>>k.y>>k.z; } ostream& operator<<(ostream &oust , Vec3d k) { return cout<<"("<<k.x<<","<<k.y<<","<<k.z<<")"; } int main(){ Vec3d v1(1,2,3),v2(-2,1,1),v3(3,-5,-2),v4; cout<<"v1の長さ="<<v1.size()<<endl; cout<<v1<<"+"<<v2<<"="<<v1+v2<<endl; cout<<v1<<"-"<<v2<<"="<<v1-v2<<endl; cout<<v1<<"と"<<v3<<"の内積は"<<v1%v3<<"です"<<endl; v4=v3*2; cout<<v3<<"*2="<<v4<<endl; v4=5*v2; cout<<"5*"<<v2<<"="<<v4<<endl; v4=v2*v3; cout<<v2<<"と"<<v3<<"の外積は"<<v4<<"です"<<endl; cout<<v4<<"と"<<v2<<"は直交"; if(v4.cross(v2)) cout<<"します"<<endl; else cout<<"しません"<<endl; cout<<v4<<"と"<<v1<<"は直交"; if(v4.cross(v1)) cout<<"します"<<endl; else cout<<"しません"<<endl; cin>>v4; cout<<v4<<"と"<<v1<<"は平行"; if(v4.parallel(v1)) cout<<"です"<<endl; else cout<<"ではありません"<<endl; }