Windows 7 64 ビットで DosBox (DosBox 0.74) で Turbo C を使用しようとしています。
プログラムは、最初の実行で完全に正常に動作します。エラーなしで正常にコンパイルされ、問題なく実行されます。
同じプログラムを繰り返し実行しようとすると、プログラムが奇妙な出力を生成するようです。したがって、完全に機能していた同じプログラムでも、コンパイルは正常に行われますが、エラー出力が作成されます。
以下は、頂点の数に応じて空間にポリゴンの頂点を配置するプログラムです。最初の実行では、完全に期待される出力が生成されますが、繰り返すと完全に間違った出力が生成されます。頂点は完全にランダムな場所に配置されます。
記憶に関係するものなのか疑問です。別のエミュレータを使ってみたところ、同様のエラーが繰り返されました!
更新 1: Mac OSX で試したところ、同じエラーが繰り返されます。
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
int main()
{
int gd=DETECT,gm,count,i,x[100],y[100],r=100;
initgraph(&gd,&gm,"c:\\tc\\");
printf("Enter the number of cordinates:");
scanf("%d",&count);
printf("Entered count :%d",count);
for(i=0;i<count;i++)
{
x[i]=r*cos(2*3.14*(i+1)/count)+200;
y[i]=r*sin(2*3.14*(i+1)/count)+200;
circle(x[i],y[i],5);
}
getch();
return 0;
}