C:\Data\Cpp\CLI.BAT C:\Data\Cpp\GcmLcm.cpp |
ファイル名 | 説明 |
---|---|
GcmLcm.cpp | ref Object Class |
using namespace System; ref class GcmLcm { private: int w1,w2; public: int gcm(int v1, int v2) { w1 = v1; w2 = v2; while(w1 != w2) { if (w1 > w2) w1-= w2; else w2-= w1; } return w1; } int lcm(int v1, int v2) { return v1*v2/gcm(v1,v2); } }; |
return v1*v2/gcm(v1,v2); |
int main() { GcmLcm^ gcmlcm; int x = 32; int y = 24; gcmlcm = gcnew GcmLcm(); Console::WriteLine("{0} と {1} の GCM は {2} で、LCM は {3} です", x,y,gcmlcm->gcm(x,y),gcmlcm->lcm(x,y)); delete gcmlcm; System::Console::ReadLine(); return 0; } |
/*★ GcmLcm class Header File 前田 稔 */ namespace GcmLcmLib { ref class GcmLcm { private: int w1,w2; public: int gcm(int v1, int v2); int lcm(int v1, int v2); }; } |
/*★ GcmLcm class 関数定義 前田 稔 */ #include "GcmLcm.h" using namespace System; namespace GcmLcmLib { int GcmLcm::gcm(int v1, int v2) { w1 = v1; w2 = v2; while(w1 != w2) { if (w1 > w2) w1-= w2; else w2-= w1; } return w1; } int GcmLcm::lcm(int v1, int v2) { return v1*v2/gcm(v1,v2); } } |
/*★ GcmLcm を参照する Main 関数 前田 稔 */ #include "GcmLcm.h" using namespace System; using namespace GcmLcmLib; int main() { GcmLcm^ gcmlcm; int x = 32; int y = 24; gcmlcm = gcnew GcmLcm(); Console::WriteLine("{0} と {1} の GCM は {2} で、LCM は {3} です", x,y,gcmlcm->gcm(x,y),gcmlcm->lcm(x,y)); delete gcmlcm; System::Console::ReadLine(); return 0; } |
C:\Users\maeda>CD C:\TMP C:\TMP>CL /CLR Console.cpp GcmLcm.cpp C:\TMP>Console.exe |
C:\TMP>CL /CLR GcmLcm.cpp |
C:\TMP>CL /CLR Console.cpp GcmLcm.obj |
C:\TMP>Console.exe |