主题:初学者的一个笨问题,望高手解答一下!!
#include <iostream>
#include <iomanip>
using std::cout;
using std::cin;
using std::endl;
using std::setw;
int main()
{
double* pvalue1 = 0;
double* pvalue2 = 0;
double tvalue = 0;
int count = 1;
int i = 0;
for(;;)
{
cout << "请输入一个数字(输入0则退出):";
cin >> tvalue;
if(tvalue == 0)
break;
pvalue1 = new double[count];
for(i = 0;i < (count-1);i++)
*(pvalue1 + i) = *(pvalue2 + i);
*(pvalue1+i) = tvalue;
//红色部分为什么不能互换???为什么下面注释的语句会有错误????
[color=FF0000] //delete[] pvalue2;
[color=FF0000] //pvalue2 = pvalue1;
[color=FF0000] //delete [] pvalue1;
[color=FF0000] //pvalue1 = 0;[/color]
[color=FF0000] pvalue2 = new double[count];
[color=FF0000] for(i = 0;i < count;i++)
[color=FF0000] *(pvalue2 + i) = *(pvalue1 + i);
[color=000000]
++count;
}
for(i=0;i<count-1;i++)
{
cout << setw(6) << *(pvalue2+i);
tvalue += *(pvalue2+i);
if((i+1)%5==0)
{
cout << setw(6) << tvalue/5 << endl;
tvalue=0;
}
}
return 0;
}[/color]
#include <iomanip>
using std::cout;
using std::cin;
using std::endl;
using std::setw;
int main()
{
double* pvalue1 = 0;
double* pvalue2 = 0;
double tvalue = 0;
int count = 1;
int i = 0;
for(;;)
{
cout << "请输入一个数字(输入0则退出):";
cin >> tvalue;
if(tvalue == 0)
break;
pvalue1 = new double[count];
for(i = 0;i < (count-1);i++)
*(pvalue1 + i) = *(pvalue2 + i);
*(pvalue1+i) = tvalue;
//红色部分为什么不能互换???为什么下面注释的语句会有错误????
[color=FF0000] //delete[] pvalue2;
[color=FF0000] //pvalue2 = pvalue1;
[color=FF0000] //delete [] pvalue1;
[color=FF0000] //pvalue1 = 0;[/color]
[color=FF0000] pvalue2 = new double[count];
[color=FF0000] for(i = 0;i < count;i++)
[color=FF0000] *(pvalue2 + i) = *(pvalue1 + i);
[color=000000]
++count;
}
for(i=0;i<count-1;i++)
{
cout << setw(6) << *(pvalue2+i);
tvalue += *(pvalue2+i);
if((i+1)%5==0)
{
cout << setw(6) << tvalue/5 << endl;
tvalue=0;
}
}
return 0;
}[/color]