请问如何将visual studio 2010 上计算得到的二维数组导出到外部文件?反之如何读入到VS2010中。
我用visualstudio2010c++做仿真,有一个比较大的(大概10M)的连接矩阵,每次计算都太麻烦了,想问下怎么能够把计算好的连接矩阵(二维数组)导出到外部文件,...
我用visual studio 2010 c++做仿真,有一个比较大的(大概10M)的连接矩阵,每次计算都太麻烦了,想问下怎么能够把计算好的连接矩阵(二维数组)导出到外部文件,然后下次计算的时候又如何导入这个文件。这样就不用计算它了。
这个跟matlab的load()功能很像,但是我不知道在vs2010怎么用。
谢谢!回答的好还会有加分。 展开
这个跟matlab的load()功能很像,但是我不知道在vs2010怎么用。
谢谢!回答的好还会有加分。 展开
展开全部
因为不知道具体有多少行,所以请问如何在不确定行数的情况下,把这些数字读入/*从文件读取整数,动态创建二维数组,并将整数存入数组*/ if (!i) { a
追问
我算出来的二维数组大概是,3000*3000的。我想能不能类似于导出到excel或者数据库里面,然后以后计算再导入到程序中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是Pascal的话,可以用调用文件,c++的话也差不多把
program make_output;
var
i,j,m,n:longint;
a:array[1..100,1..100] of longint;
begin
readln(m,n);
assign(output,'a.txt');rewrite(output);//写入到一个文件;
for i:=1 to m do
begin
for j:=1 to n do begin
read(a[i,j]);
write(a[i,j],' ');
end;
readln;
writeln;
end;
close(output);
end.
program make_input;
var
i,j,m,n:longint;
a:array[1..100,1..100] of longint;
begin
assign(input,'a.txt');reset(input);//调用文件;
readln(m,n);
for i:=1 to m do
begin
for j:=1 to n do
read(a[i,j]);
readln;
end;
close(input);
end.
program make_output;
var
i,j,m,n:longint;
a:array[1..100,1..100] of longint;
begin
readln(m,n);
assign(output,'a.txt');rewrite(output);//写入到一个文件;
for i:=1 to m do
begin
for j:=1 to n do begin
read(a[i,j]);
write(a[i,j],' ');
end;
readln;
writeln;
end;
close(output);
end.
program make_input;
var
i,j,m,n:longint;
a:array[1..100,1..100] of longint;
begin
assign(input,'a.txt');reset(input);//调用文件;
readln(m,n);
for i:=1 to m do
begin
for j:=1 to n do
read(a[i,j]);
readln;
end;
close(input);
end.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//---------------------------------------------------------------------------
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main(void)
{
int **a; /*二维数组指针*/
int i,n,r;
ifstream inf("c:\\test.txt"); /*打开要读取的文件*/
if (!inf) {
exit(1);
}
for (i = 0,r=0; inf>>n; i++) { /*从文件读取整数,动态创建二维数组,并将整数存入数组*/
if (!i) {
a=(int **)malloc(sizeof(int *));
a[0]=(int *)malloc(sizeof(int)*9); /*每行有9个元素*/
}
else if (i%9==0) {
a=(int **)realloc(a,sizeof(int *)*(i/9+1));
a[i/9]=(int *)malloc(sizeof(int)*9);
}
a[i/9][i%9]=n;
r++;
}
inf.close(); /*文件读取完成,数组创建完毕,关闭文件*/
for (i = 0; i<r; i++) { /*输出二维数组的内容,并释放为二维数组分配的空间*/
if (i&&i%9==0) {
cout<<endl;
free(a[i/9-1]);
}
cout<<a[i/9][i%9]<<'\t';
}
free(a[r/9-1]);
free(a);
return 0;
}
//---------------------------------------------------------------------------
追问
辛苦了,其实我想知道VS有没有自带方便调试的功能或者库。后来觉得vs还是少用矩阵存储为好,毕竟O(n^2)确实有点崩溃。
如果没有更好的答案就你就说最佳的了哈~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-01-03
展开全部
题干不详,无法解答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询