第六周作业二
来源:互联网 发布:苹果双系统删除mac 编辑:程序博客网 时间:2024/06/07 02:52
作业
3. 编程定义一个4X5矩阵和5X3矩阵,并计算它们的积。
4.编程输出1到n的平方的自然数构成的“魔方阵”,魔方阵是指它每一行和每一列及对角线之和均相等的方阵。
5.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。
程序1:
// disizhanglianxi2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>#include<iomanip>using namespace std;float A[4][5]={32,65,-23,56,14,15,9,25,41,35,67,42,65,52,35,71,19,29,34,38,};float B[5][3]={41,52,63,74,15,24,31,-41,65,-18,27,23,69,48,56,};float C[4][3];int main(){int a,b,c,d=0,e,f,g;for(a=0;a<4;a++){g=0;for(b=0;b<3;b++){c=5;e=0;f=0;while(c){C[a][b]+=A[d][e]*B[f][g];e++;f++;c--;}g++;}d++;}cout<<"A="<<endl;for(a=0;a<4;a++){for(b=0;b<5;b++)cout<<setw(8)<<setprecision(5)<<A[a][b];cout<<endl;}cout<<"B="<<endl;for(e=0;e<5;e++){for(f=0;f<3;f++)cout<<setw(8)<<setprecision(5)<<B[e][f];cout<<endl;}cout<<"C=AxB="<<endl;for(c=0;c<4;c++){for(d=0;d<3;d++)cout<<setw(8)<<setprecision(5)<<C[c][d];cout<<endl;}return 0;}
既然固定的矩阵能够计算,那自定义一个矩阵的计算也就不是难题了
程序2:稍作改动,即为一计算任意矩阵的程序了
// disizhanglianxi2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>#include<iomanip>using namespace std;//float A[4][5]={32,65,-23,56,14,15,9,25,41,35,67,42,65,52,35,71,19,29,34,38,};//float B[5][3]={41,52,63,74,15,24,31,-41,65,-18,27,23,69,48,56,};//float C[4][3];int main(){int a,b,c,d=0,e,f,g,i,k,m,n;float A[20][20],B[20][20],C[20][20];//由于定义数组时系统会开辟出一块空间,//在写程序时应考虑实际情况,够用就好,杜绝浪费do{cout<<"请确定第一个矩阵的行数i(i<=20)"<<endl;cin>>i;}while(i>20);do{cout<<"请确定第一个矩阵的列数k(k<=20)"<<endl;cin>>k;}while(k>20);do{cout<<"请确定第二个矩阵的行数m(应与第一矩阵列数相等)"<<endl;cin>>m;}while(m!=k);do{cout<<"请确定第二个矩阵的列数n(n<=20)"<<endl;cin>>n;}while(n>20);cout<<"输入第一个矩阵的元素"<<endl;for(a=0;a<i;a++)for(b=0;b<k;b++)cin>>A[a][b];cout<<"输入第二个矩阵的元素"<<endl;for(a=0;a<m;a++)for(b=0;b<n;b++)cin>>B[a][b];for(a=0;a<i;a++)//第一个矩阵的行数为新矩阵行数{g=0;for(b=0;b<n;b++)//第二个矩阵的列数为新矩阵列数{c=k;//这是由第一矩阵列数决定的e=0;f=0;while(c){C[a][b]+=A[d][e]*B[f][g];e++;f++;c--;}g++;}d++;}cout<<"A="<<endl;for(a=0;a<i;a++){for(b=0;b<k;b++)cout<<setw(8)<<setprecision(5)<<A[a][b];cout<<endl;}cout<<"B="<<endl;for(e=0;e<m;e++){for(f=0;f<n;f++)cout<<setw(8)<<setprecision(5)<<B[e][f];cout<<endl;}cout<<"C=AxB="<<endl;for(a=0;a<i;a++){for(b=0;b<n;b++)cout<<setw(8)<<setprecision(5)<<C[a][b];cout<<endl;}return 0;}
程序3:魔方
0 0
- 第六周作业二
- 第六周作业任务二
- 第六周作业(二.1)
- 第六周作业
- 第六周作业
- 第六周作业 3
- 第六周作业 4
- 第六周作业 5
- 第六周作业
- 第六周作业
- 第六周作业
- Java第六周作业
- 第六周作业
- 第六周作业1
- 第六周作业
- 第六周作业
- 第六周作业
- 第六周作业
- html5 实例[1] 小时钟
- Redhat Linux下部署Java EE应用服务(补充完善中)
- 圆角背景
- ubuntu 安装scim+googlepiyin
- Java的文件上传与下载
- 第六周作业二
- 字符串基本操作
- 淘宝Metaq maven install gecko.jar
- ContextLoaderListener的作用
- 日语动词分类变形
- Android 数据库打包随APK发布
- 深入学习struts2的配置文件
- 【最后一个非零数】
- 模式对话框和无模式对话框 区别