输出M行M列整数方阵对角线上的和

作者&投稿:望怎 (若有异议请与网页底部的电邮联系)
输入一个M行M列的二维数组,分别计算两条对角线上的元素之和。M由下面的符号常量定义:~

#include
#define M 5
void main()
{
int a[M][M],i,j,sum1=0,sum2=0;
printf("输入数组:
");
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
{
printf("a[%d][%d]= ",i,j);
scanf("%d",&a[i][j]);
}
}
for(i=0;i<M;i++)
{
sum1+=a[i][i];
sum2+=a[i][M-i];
}
printf("sum1= %d
",sum1);
printf("sum2= %d
",sum2);
}

import java.util.Scanner;
public class test{
public static void fangzhen(){
Scanner sc=new Scanner(System.in);
int p[][]=new int[10][10];
for(int i=0;i<100;i++){
p[i/10][i%10]=sc.nextInt();
}
int sum=1;
for(int i=0;i<10;i++){
sum*=p[i][i];
sum*=p[i][9-i];
}
System.out.println(sum);
}

public static void juzheng(){
Scanner sc=new Scanner(System.in);
int m=sc.nextInt();
int n=sc.nextInt();
int p[][]=new int[m][n];
int minx=0;
int miny=0;
int min=0;
for(int i=0;i<m*n;i++){
p[i/n][i%n]=sc.nextInt();
}
min=p[0][0];
for(int i=1;i<m*n;i++){
if(min>p[i/n][i%n]){
minx=i/n;
miny=i%n;
min=p[i/n][i%n];
}
}
System.out.println("hang="+minx+" lie="+miny);
}

public static void jimu(){
Scanner sc=new Scanner(System.in);
String n=sc.next();
int da=0;
int xiao=0;
int shu=0;
int kong=0;
int qi=0;
for(int i=n.length()-1;i>-1;i--){
char c=n.charAt(i);
System.out.println(c);
if(c=' ')
kong++;
else if(c>='0'&&c<='9')
shu++;
else if(c>='a'&&c<='z')
xiao++;
else if(c>='A'&&c<='Z')
da++;
else
qi++;
System.out.println("大写="+da+"小写="+xiao+"数字="+shu+"空格="+kong+"其他="+qi);
}
}
public static void main(String dasfdsa[]){
fangzhen();
juzheng();
jimu();
}
}

解决代码如下:
#include <iostream>using namespace std;int main(){ int a[3][3];
int i,j; int sum=0;//存结果
cout<<"
请输入3*3个数:\n"; for (i=0;i<3;i++) { for (j=0;j<3;j++) cin>>a[i][j];
} for (i=0;i<3;i++) { for (j=0;j<3;j++) { if (i==j||i+j==2) { sum=sum+a[i][j]; } } }
cout<<"结果是"<<sum<<endl; return 0;

#include<stdio.h>
#include<conio.h>
#define M 5
int fun(int n,int xx[][M])
{int i,j,sum=0;
printf("\nThe%dx%d matrix:\n",M,M);
for(i=0;i<M;i++)
{for(j=0;j<M;j++)
printf("%d ",xx[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
sum+=xx[i][i]+xx[i][n-i-1];
return(sum);
}
void main()
{
int aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};
system("cls");
printf("\nThe sum of all elements on 2 diagnals is %d",fun(M,aa));
}

//运行情况如下:

The5x5 matrix:
1 2 3 4 5
4 3 2 1 0
6 7 8 9 0
9 8 7 6 5
3 4 5 6 7

The sum of all elements on 2 diagnals is 50请按任意键继续. . .

#include<stdio.h>
#include<conio.h>
#define M 5
int fun(int n,int xx[][M])
{int i,j,sum=0;
printf("\nThe%dx%d matrix:\n",M,M);
for(i=0;i<M;i++)
{for(j=0;j<M;j++)
printf("%d ",xx[i][j]);//x未声名,加空格
puts("");//换行
}
for(i=0;i<n;i++)
sum+=xx[i][i]+xx[i][n-i-1];
return(sum);
}
void main()
{
int aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};
//这个是清屏吗?我不懂clrscr();
printf("\nThe sum of all elements on 2 diagnals is %d",fun(M,aa));//加空格,好看一些
}
运行结果不知道对不对,你自己再看看吧


输出M行M列整数方阵对角线上的和
include <iostream>using namespace std;int main(){ int a[3][3];int i,j; int sum=0;\/\/存结果 cout<<"请输入3*3个数:\\n"; for (i=0;i<3;i++) { for (j=0;j<3;j++) cin>>a[i][j];} for (i=0;i<3;i++) { for (j=0;j<3;j++) { if (i==j||i+j...

用C++编程 产生一个10×10的二位随机整数方阵,求出每一行的最大值和每...
cout << "第" << i+1 << "行的最大值是"<< max[i] << "。\\n";} for (int j = 0;j < 10;j++){ min[j] = list[0][j];for (int i = 1;i < 10;i++)if (list[i][j] < min[j])min[j] = list[i][j];cout << "第" << j+1 << "列的最小值是"<...

matlab随机产生两个整数方阵
randi( [a, b], [m, n] )会产生一个 m×n 的方针,且方阵每一项为 ≥a ≤b 的整数 (a, b, m, n 输入值必须为整数)--- 用两次就能产生两个方阵了

C程序问题
把方阵转化为一个有向图,把出发点在第一行的边记为出发边,把到最后一行的边记为到达边,然后把这个有向图的边转为点构造一个新的有向图(有从(a,b)对应的点到(c,d)对应的点的边当且仅当b=c),每条边有容量1,然后添加源点s,s到每条出发边对应的点有一条边,容量无穷,添加终点t,...

帮忙做一下
所谓的魔方距阵就是一种特殊的奇数阶方阵:它的行,列,对角线,上的数字之和都要相等,且方阵中的每一个数字都不相等,且数字的范围都在1到n*n之间.我编的程序如下:\/ include<stdio.h> define N 15 main(){ int i,j,row,cloum,size,square[N][N],count;clrscr();printf("please ...

为什么0阶乘是1?
计算每增加一个度为3的节点同时增加几个叶子节点。可知:2n-1=leaf (n为度为3的节点数,leaf为叶子节点数)。所以当n=3时,leaf=2*3-1=5。1、m行n列矩阵的阶数:“m*n阶”。2、n行m列矩阵的阶数:“n*m阶”。3、m行m列矩阵的阶数:“n*n阶”,简称“n阶”方阵。

全单位模矩阵详细资料大全
如果一个矩阵的任何子方阵的行列式等于1,-1或0,则称这个矩阵是 全单位模矩阵 。把m阶单位矩阵用I m 表示。显然,I m 是全单位模矩阵。基本介绍 中文名 :全单位模矩阵 外文名 :total unimodular matrix 所属学科 :数学 相关概念 :行列式,整数线性规划问题等 定义,相关性质,...

pascal 的初级题
42. 编一过程, 打印直方图,直方图为4行,每列表示1% .43. 编写一个函数, 返回一正整数的倒序数字.44. 编写一个过程, 倒序输出一正整数每位数字.45. 幻方(奇阶和4的倍数阶).46. 打印由1——N*N组成的N*N的螺旋方阵. (N<=50) N=47 8 9 106 1 2 115 4 3 1216 15 14 1347. 验证任意自然...

zerosMATLAB函数zeros简介
在MATLAB中,"zeros"函数是一个非常实用的工具,用于创建全零矩阵。它有以下两种主要用法:首先,当你需要一个明确维度的全零矩阵,如m行n列,可以使用"zeros(m,n)"。例如,如果你想生成一个5x3的全零矩阵,只需输入"zeros(5,3)"即可。其次,如果你需要一个特定维度的方阵,可以使用"zeros(n)"...

...用matlab随机生成列满秩的长方形矩阵(行大于列)(元素为整数...
我有一个方法,不一定把把有效,但是可以一试,大部分情况是可以的。思路:先随机生成一个方阵,不足的补上。代码如下 M=15; %行数 N=10; %列数 maxV=25; %随机阵列中最大的数 A=floor(rand(N,N)*(maxV-1))+1;B=inv(A); %求一下逆,不报错就OK了;C=[A;floor(rand...

临邑县15293583986: 求M行M列整数方阵两对角线上各元素之和
点勤泪然: #include <iostream>using namespace std;int main(){ int a[3][3]; int i,j; int sum=0;//存结果 cout<<"请输入3*3个数:\n"; for (i=0;i<3;i++) { for (j=0;j<3;j++) cin>>a[i][j]; } for (i=0;i<3;i++) { for (j=0;j<3;j++) { if (i==j||i+j==2) { sum=sum+a[i][j]; } } }cout<<"结果是"<<sum<<endl; return 0;

临邑县15293583986: ...(整数):\n",M,M,M*M);/*计算主对角线和次对角线上的元素之和*//*提示:分析主对角线和次对角线上数组元素行下标和列下标的特点*//*输出M*M矩阵... -
点勤泪然:[答案] /*LAB5_2.c:输入一个M行M列的二维数组,分别计算两条对角线上的元素之和*/#include#define M 5main(){int ma[M][M],i,j;int fstDiagonal,scdDiagonal;/*输入M*M矩阵*/printf("请输入%d行%d列矩阵共%d个元素值(整数):\...

临邑县15293583986: 输入一个M行M列的二维数组,分别计算两条对角线上的元素之和.M由下面的符号常量定义: -
点勤泪然: #include #define M 5 void main() { int a[M][M],i,j,sum1=0,sum2=0; printf("输入数组:\n"); for(i=0;i { for(j=0;j { printf("a[%d][%d]= ",i,j); scanf("%d",&a[i][j]); } } for(i=0;i { sum1+=a[i][i]; sum2+=a[i][M-i]; } printf("sum1= %d\n",sum1); printf("sum2= %d\n",sum2); }

临邑县15293583986: 求M行M列整数方阵两对角线上各元素之和 -
点勤泪然: #include using namespace std;int main(){ int a[3][3]; int i,j; int sum=0;//存结果 cout<<"请输入3*3个数:\n"; for (i=0;i<3;i++) { for (j=0;j<3;j++) cin>>a[i][j]; } for (i=0;i<3;i++) { for (j=0;j<3;j++) { if (i==j||i+j==2) { sum=sum+a[i][j]; } } }cout<<"结果是"<< 满意请采纳

临邑县15293583986: 题目:编写程序求解M*M矩阵的两条对角线上的元素之和. 输出结果见图:样张.JPG - -----------------------
点勤泪然: minor = leading = 0;for(int i=0;i<M;i++){ leading+=a[i][i]; minor+=a[i][M-i-1];}

临邑县15293583986: C程序问题:求M*M矩阵对角线之和! -
点勤泪然: if((i==j)||(i+j==m))应该改成:if((i==j)||(i+j==m-1))还有你给出的每行都是 1 2 3 的3*3矩阵,算对角线的和,那么第2行第2列的2应该只算一遍吧,答案应该是10吧

临邑县15293583986: 写一个方法,求一个m*m矩阵对角线元素之和. -
点勤泪然: 对角线元素和就是矩阵的迹,等于矩阵所有特征值之和.也可将矩阵化为对角阵

临邑县15293583986: 输入m行n列整数矩阵,然后求两条对角线上的各元素之和,并将结果输出 -
点勤泪然: 如果m<>n,无法确定对角线. 如果m=n,设已经输入矩阵,各元素以a[i][j]表示,i,j取值为0,1,2,...n-1. C语言,略去数据输入部分. sum=0; for(i=0;i<n;i++) sum+=a[i][i]; for(i=0;i<n;i++) sum+=a[i][n-i-1]; //输出sum.

临邑县15293583986: 给定的M行M列矩阵的主、副对角线上元素之和,两条对角线相交的元素只加一次.
点勤泪然: for(i=1;i<m;i++) sum=sum+a[i][i]; for(j=m;j>0;j++) sum=sum+a[j][j]; if(m%2==1) (int x=m/2; sum=sum-x;) 就是这么个过程自己理解

临邑县15293583986: 输入一个M行M列的二维数组,计算四周元素之和 -
点勤泪然: 设置数组S(M,M),M>1,ssum=s(1,1)+s(M,M) +s(1,M) + s (M,1) if M>2 for i =2 to M-1 ssum=ssum+s(1,i)+s(i,1) +s(M,i) +s(i,M) next i

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网