ifstream 问题

sandysa8485 2008-05-05 10:25:04
我想把一个由行号,列号,权值组成的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");
}
}

...全文
133 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoc10 2008-05-06
  • 打赏
  • 举报
回复
就是要加上
using namespace std;
or
using std::ifstream;
visame 2008-05-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 sandysa8485 的帖子:]
我想把一个由行号,列号,权值组成的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…
[/Quote]
这到底是C还是C++。
最好统一风格,虽然用printf/scanf可能更快,但是cin/cout更好用。
更何况你用了fstream而不是FILE *.
lisheng053758 2008-05-06
  • 打赏
  • 举报
回复
看错了题目要求,不好意思哈
lisheng053758 2008-05-06
  • 打赏
  • 举报
回复
就算编译通过,楼主的代码也不能正确的从文件读入到矩阵
星羽 2008-05-05
  • 打赏
  • 举报
回复

#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;
}


skran 2008-05-05
  • 打赏
  • 举报
回复
就是要加 using namespace std;
qmm161 2008-05-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 baihacker 的回复:]
C/C++ code #include <iostream>
#include <fstream>
using namespace std;
[/Quote]
无影手哇,在哪都抢不赢!
baihacker 2008-05-05
  • 打赏
  • 举报
回复
 #include  <iostream> 
#include <fstream>
using namespace std;
内容概要:本文系统梳理了多个科研领域的前沿研究与技术实现,重点涵盖FDTD方法中的完美匹配层(PML)研究,以及Matlab/Simulink在电磁、电力、控制、通信、信号处理、图像处理、路径规划、能源系统优化等领域的仿真与算法实现。文中列举了大量基于Matlab和Python的科研案例,如风电功率预测、负荷预测、无人机三维路径规划、电池系统故障诊断、雷达模拟、通信编码、微电网优化调度等,并强调结合智能优化算法(如粒子群、遗传算法、深度学习等)提升系统性能。同时,提供了丰富的代码资源与仿真模型,涵盖永磁同步电机控制、逆变器设计、多智能体任务分配、虚拟电厂调度等复杂系统,助力科研人员快速开展复现实验与创新研究。; 适合人群:具备一定编程基础,熟悉Matlab/Python工具,从事电气工程、自动化、通信、人工智能、新能源、控制科学等相关领域研究的研发人员及研究生。; 使用场景及目标:① 学习并实现FDTD仿真中的PML边界条件以有效抑制数值反射;② 掌握Matlab/Simulink在多物理场建模、控制系统设计与优化算法中的综合应用;③ 借助提供的代码资源完成科研复现、课程设计、竞赛项目或工程原型开发; 阅读建议:此资源以科研实战为导向,不仅提供理论方法,更强调代码实现与仿真验证。建议读者结合自身研究方向,按目录顺序查阅相关模块,下载配套代码进行调试与二次开发,以达到学以致用、融会贯通的目的。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧