1
私はタイムテーブルジェネレータをプロジェクトとして作成しています。C++プログラムで論理エラーが見つかりません
コードの一部に論理エラーがあるようです。
void _tmain(int argc, _TCHAR* argv[])
{
int time=4;
int classes=2;
int teacher=4;
const int column=4;
const int rows=8;
int table[rows][column];
int final_table[rows][column];
int cell;
int temp=time;
int temp2=classes;
int temp3=teacher;
int cell_reset=111;
int cell_temp;
int k=0;
int selector_temp=0;
int selector_temp2=0;
cell=111;
//array initilization loop
for(int i=0;i<rows;i++)
{
for(int j=0;j<rows;j++)
{
table[i][j]=-1;
}
}
for(int i=0;i<rows;i++)
{
for(int j=0;j<rows;j++)
{
final_table[i][j]=-1;
}
}
//Number generator loop
for(int i=0;i<rows;)
{
while(k<classes)
{
for(int j=0;j<column;j++)
{
table[i][j]=cell;
cell++;
}
cell=cell_reset+10;
k++;
i++;
}
k=0;
cell=cell_reset+100;
cell_reset=cell;
}
//selector loop
int counter=0;
for(int i=0;i<rows;i++)
{
counter=0;
for(int j=0;j<column&&counter<1;j++)
{
if(table[i][j]==selector_temp+10)
{
table[i][j]=-1;
}
if(table[i][j]==selector_temp-10)
{
table[i][j]=-1;
}
if(table[i][j]!=-1)
{
selector_temp=table[i][j];
final_table[i][j]=table[i][j];
for(int gg=(j+1);gg<column;gg++)
{
table[i][gg]=-1;
}
selector_temp2=selector_temp;
while(k<time)
{
selector_temp2+=100;
for(int ii=0;ii<rows;ii++)
{
for(int jj=0;jj<column;jj++)
{
if(table[ii][jj]==selector_temp2)
{
table[ii][jj]=-1;
}
}
}
k++;
}
k=0;
counter++;
}
}
}
//display loop
for(int i=0;i<rows;i++)
{
for(int j=0;j<column;j++)
{
cout<<final_table[i][j];
cout<<" ";
}
cout<<endl;
}
}//end of main bracket
このコードは、私が欲しいものを正確に生成します。
しかし、私はこのコードを実行しようとすると、コンパイラは私に、変数テーブルの周り
スタックが破損していることをエラーが発生します。
このエラーを無視して、正しい結果が得られます。
私はこのエラーの原因を見つけようとしましたが、正しい結果が得られないので、見つからない場合、どのようにしてコンパイラが私に与えるプロンプトを無効にすることができますか?
を持つべきである '無効_tmain()'有効な標準C++ではありません。 –
*正確に*エラーは何を言いますか?そしてそれが誤りであれば、それをどうやって無視することができますか?代わりに警告ですか?コードをコンパイルするときや実行するときに発生しますか?どのコンパイラを使用していますか? – jalf
標準C++かどうか、 'void _tmain()'が間違っています。 Microsoftの '_tmain()'を使用している場合は、 'int'を返すようにプロトタイプされています。 –