A. 如何用c语言从文本文件读入矩阵和一个向量
首先说读入矩阵 几维矩阵就用几维数组就可以
向量是用 2维数组读取 即起始点坐标 终止点坐标
存入二进制文件可以参考这个
#include"fstream.h"
struct student
{
char name[10];
int age;
}stu1[5],stu2[5];
int main()
{
ofstream fout("c:/chengyu1.txt", ios::binary );
cout<<"please input!"<<endl;
for(int i = 0;i<5;i++)
{
cin>>stu1[i].name>>stu1[i].age;
fout.write((char *)(&stu1[i]),sizeof(stu1[i]));
}
fout.close();
ifstream fin("c:/chengyu1.txt", ios::binary );
cout<<endl<<"the result is:"<<endl;
for(i=0;i<5;i++)
{
fin.read((char *)(&stu2[i]),sizeof(stu2[i]));
cout<<stu2[i].name<<" "<<stu2[i].age<<endl;
}
fin.close();
return 0;
}
读同理
然后 直接进行矩阵与向量乘法的运算
最后cout到一个文本文件即可
B. c语言如何从文件中读入矩阵,存入二维数组
C++代码:
需要手动输入文件路径,以及文件中每一行有几列,读取额数据存入一个向量专中,可视为属二维数组。
#include
#include
#include
#include
using
namespace
std;
int
read_scanf(const
string
&filename,const
int
&cols,vector
&_vector)
//
功能:将filename
中的数据(共cols列)读取到_vector中,_vector可视为二维数组
{
FILE
*fp=fopen(filename.c_str(),"r");
bool
flag=true;
int
i=0;
if(!fp){
cout<<"File
open
error!\n";
return
0;
}
while(flag)
{
double
*point=new
double[cols];
for(i=0;i
output_vector;
if(!read_scanf(file,columns,output_vector))return;
//output_vector可视为二维数组;输出数组元素:
int
rows=output_vector.size();
for(int
i=0;i
评论
0
0
0
加载更多
C. C语言如何从文件中读入矩阵和向量并实现向量乘矩阵
首先你得明白这个二进制的文件里面的内容是怎样排列的要不然怎么读。。。你可以先产生一个简单的桁架矩阵,再试试用winHEX读取这个二进制文件看看哪个对应哪个。然后明白了他数据是怎么存的以后再设计算法去读取。