首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

ifstream 有关问题

2012-03-01 
ifstream 问题我想把一个由行号,列号,权值组成的txt文件(大概384行),放入矩阵a中 ,然后矩阵自乘.#include

ifstream 问题
我想把一个由行号,列号,权值组成的txt文件(大概384行),放入矩阵a中 ,然后矩阵自乘.
 #include <iostream>
 #include <fstream>
 main()  
{  
int matrix[384][3];  
char filename[] = "384.txt";  
ifstream f("384.txt",ios_base::in); // 这句抱错啊,55555555555555

int r,c;  
while(f>>r) //读行号  
{  
f>>c; //读列号  
f>>matrix[r][c]; //读权值  
}  
int i,j,m;  
int b[384][384];  
for(i=0;i <=383;i++)  
{  

for(j=0;j <=383;j++)  
{  
b[i][j]=0;  
for(m=0;m <3;m++)  
{  
b[i][j]=matrix[i][m]*matrix[i][m]+b[i][j];  
}  
}  
}  
printf("here is the answer:\n");  
for(i=0;i <=383;i++)//所有数组下标都以0开始  
{  
for(j=0;j <=383;j++)  
{  
printf("%d ",b[i][j]);  
}  
printf("\n");  
}  




[解决办法]

C/C++ code
 #include  <iostream>  #include  <fstream> using namespace std;
[解决办法]
C/C++ code
#include  <iostream> #include  <fstream> using namespace std;               // 这里int main()                // c++ 里main需要声明返回类型{       int matrix[384][3];       char filename[] = "384.txt";       ifstream f("384.txt");            if (f.fail())                // 判断是否打开成功        return 1;    int r,c;       while(f>>r) //读行号       {           f>>c; //读列号           f>>matrix[r][c]; //读权值       }       int i,j,m;       int b[384][384];       for(i=0;i   <=383;i++)       {           for(j=0;j   <=383;j++)           {               b[i][j]=0;               for(m=0;m   <3;m++)               {                   b[i][j]=matrix[i][m]*matrix[i][m]+b[i][j];               }           }       }       printf("here is the answer:\n");       for(i=0;i   <=383;i++)//所有数组下标都以0开始       {           for(j=0;j   <=383;j++)           {               printf("%d ",b[i][j]);           }           printf("\n");       }       f.close();              // 关闭文件    return 0;} 

热点排行