関数に渡した後、配列からガベージを取得する際に問題が発生します。これは、出力するだけの関数に渡す正しい方法ですか?
while(infile){
infile >> batch;
infile >> amount;
cout << batch << " " << amount<< endl;
totalChocolates[batch-1]+=amount;
chocolateBatches[batch-1]++;
}
//header();
print(totalChocolates,chocolateBatches);
system("pause");
return 0;
void print(int *total,int *batch)
{
for(int i = 0;i<size;i++)
{
cout << i+1 << " " << batch[i] << " " << total[i] << endl;
}
}
OK関数を引き出しましたが、まだゴミが出ています。
while(infile>> batch >> amount){
//infile >> batch;
//infile >> amount;
cout << batch << " " << amount<< endl;
totalChocolates[batch-1]+=amount;
chocolateBatches[batch-1]++;
}
for(int i = 0;i<size;i++)
{
cout << i+1 << " " << chocolateBatches[i] << " " << totalChocolates[i] << endl;
}
戻ります
1 64 8 907 18 1133 9 636 3 1134 16 1101 6 313 7 791 7 1130 1 1221 20 332 22 697 6 807 2 36 2 747 16 1219 3 859 18 639 18 312 7 1079 10 1074 5 678 18 59 1 -858993418 -858960818 2 -858993429 -858971910 3 -858993421 -858963346 4 -858993431 -858970692 5 -858993427 -858963901 6 -858993416 -858961011 7 -858993417 -858960812 8 -858993421 -858961874 9 -858993417 -858960079 10 -858993418 -858960161 11 -858993422 -858963562 12 -858993428 -858970812 13 -858993460 -858993460 14 -858993427 -858967859 15 -858993422 -858964267 16 -858993418 -858954549 17 -858993423 -858966453 18 -858993423 -858964725 19 -858993460 -858993460 20 -858993433 -858973375 21 -858993419 -858963644 22 -858993426 -858968664 23 -858993456 -858993060 24 -858993460 -858993460 25 -858993455 -858990222 Press any key to continue . . .