うまく実行ができない(相関図)
C++で二次元配列を勉強しています。そこで二次元配列を使用して相関図をつくるプログラムの問題をやっているのですが、自分なりにプログラムをつくったところ、コンパイルはできるのですが実行すると無限ループがおこり、うまく実行できません。いくら考えてもなにがいけないのかわからないので質問させていただきました。
下のは読み込むデータファイル例とその実行例です
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5254.txt
以下はつくってみた間違いプログラムです
#include<iostream>
#include<string>
#include<iomanip>
#include<fstream>
using namespace std;
int main()
{
int data;
string filename,Madata,Endata;
int i=0,j=0,x=0,y=0,m=0,n=0,num=100;
char* graph[21][21];
ifstream fin;
cout << "This program's spec:"<< endl;
cout << "point range=(0-100) div=5 leftspace=4 divspace=3" << endl;
cout << "Input data File Name!:";
cin >> filename;
fin.open(filename.c_str());
if(!fin)
{
cerr << "指定されたファイルを開けません" << endl;
return 1;
}
while(fin >> data)
{
Madata[i]=data;
fin >> data;
Endata[i]=data;
i++;
}
for(m=0; m<21; m++)
{
for(n=0; n<21; n++)
{
graph[m][n]=" ";
}
}
for(m=0; m<i; m++)
{
x=Madata[m]/5;
y=Endata[m]/5;
graph[x][y]="*";
}
for(x=0; x<21; x++)
{
cout << setw(3) << num << "|";
for(y=0; y<21; y++)
{
cout << setw(3) << graph[x][y];
}
cout << endl;
num=num-5;
}
cout << "----------------------------------------------------------------------" << endl;
cout << setw(3) << "|";
for(num=0; num<=100; num+5)
{
cout << setw(3) << num;
}
cout << endl;
return 0;
}
上記のプログラムだと0の無限ループになります。
長々となりましたが、時間のある方教えてください、よろしくおねがいします
お礼
ありがとうございます。 すごく参考になります! 色々他も探しているんですけど相関図が あるところはなさそうですね。 ちょっと整理して自分で作ってみようかと思います。