求C++大神帮忙写一个C++程序!!谢谢!!

已知一个100*100的矩阵A存放在f.txt文件里,100*1的向量x也存放在f.txt文件里,从文件中读入这些数据,并计算A*x存放到c中,对c数组的100个元素进行从小到大排序,输出到f2.txt中。是C++的程序!急用!!希望大家帮个忙!!

请问是先输入矩阵A再输入向量x吗?我没做数据测试,你自己试一下看看可不可以,有问题我再改。

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>

#define maxn 100+5

using namespace std;

typedef long long LL;

struct Matrix{
    int n,m;
    int d[maxn][maxn];
    Matrix (){ n=m=0;memset(d,0,sizeof(d)); }
    Matrix operator * (const Matrix &T)const{
Matrix temp;
temp.n=n;temp.m=T.m;
for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++)
for(int k=1;k<=T.m;k++)
    temp.d[i][k]=temp.d[i][k]+d[i][j]*T.d[j][k];
return temp;
    }
}A,x,c;

int val[maxn];

int main(){
    freopen("f.txt","r",stdin);
    freopen("f2.txt","w",stdout);
    A.n=A.m=100; x.n=100; x.m=1;
for(int i=1;i<=100;i++)
for(int j=1;j<=100;j++)
scanf("%d",&A.d[i][j]);
for(int i=1;i<=100;i++)
scanf("%d",x.d[i][1]);
c=A*x;
for(int i=1;i<=100;i++)
val[i]=c.d[i][1];
sort(val+1,val+101);
for(int i=1;i<=100;i++)
printf("%d ",val[i]);
    return 0;
}

追问

顺序是随意的 先读取哪个都可以😂

追答

那你测试一下我这个程序吧,我是先读取A再读取x的。

追问

请问这是C++的程序吗 我怎么感觉输入输出不太一样啊QAQ

追答

这是C++的程序……什么叫输入输出不太一样?你把错误的数据给我看看,我再改改。

追问

我说的是语法

追答

这是c++啊,难道语法不一样吗……你用的cin……?
还有我第37行要改成scanf("%d",&x.d[i][1]);
你用c++的编译器是肯定可以编译通过的

追问

没问题 我刚刚查了查😂 感谢感谢!采纳了!

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-07-02
#include using namespce std;void search(int a[],int n,int x){ for(int i = 0;i < n;i ++){ if(a[i] == x){ number = true; cout << i << " "; } } if(!number) cout <<"不存在" << endl;}
第2个回答  2016-07-02
labababababab追问

…能别乱回答吗

追答

不行

相似回答