![]()
|
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 |
![]()