初歩過ぎることですが知恵を貸してください><
OSはwindowsXP
言語 c++
Microsoft visual c++ Express
二つの自然数から最小公倍数と最大公約数を求めるプログラムを作ろうとしてつくってみたものの
思うように進まずwebのサンプル等を参考にしてみてもだめでした
二つの自然数を入力し最小公倍数を求めようとするとエラーが出ます
Run-Time Check Failure #3 - the valiable "na" is being used without being initialized
と出ます
以下コード
#include <stdio.h>
void main()
{
int a,b;
int x,y;
int na,nb = 0;
printf("一つ目の自然数を入力してください -> ");
scanf("%d",&a);
while(a < 0)
{
printf("入力が不正です\n");
printf("一つ目の自然数を入力してください -> ");
scanf("%d",&a);
}
printf("二つ目の自然数を入力してください -> ");
scanf("%d",&b);
while(b < 0)
{
printf("入力が不正です");
printf("二つ目の自然数を入力してください -> ");
scanf("%d",&b);
}
if(a > b)
x = a;
y = b;
if(b > a)
x = b;
y = a;
while(a*na != b*nb)
{
if(a * na > b * nb)
nb++;
if(a * na < b * nb)
na++;
}
printf("%dと%dの最小公倍数は%dです",a,b,na*a);
getchar();
getchar();
}