Ⅰ 用c語言求一個5x5整型矩陣下三角元素之和
求下三角所有元素的和,肯定要走一遍下三角的所有元素,把所有元素的值加到一個變數里。
我們假設row表示當前行,col表示當前列。sum表示當前的元素之和。
對於第1行,我們需要遍歷1個元素。
對於第2行,我們需要遍歷2個元素。
。。。
對於第5行,我們需要遍歷5個元素。
所以,大致的代碼應該長這個樣紙:
int計算下三角和(intmatrix[5][5]){
intsum=0;
introw,col;
對於所有的row=[0~4]{
對於所有的col=[0~row]{
sum+=matrix[row][col];
}
}
returnsum;
}
最後補上其他必要的代碼就好啦!
#include<stdio.h>
intgetLowerTriangleSum(intmatrix[5][5]){
intsum=0;
introw,col;
for(row=0;row<5;row++){
for(col=0;col<row+1;col++){
sum+=matrix[row][col];
}
}
returnsum;
}
intmain(){
intmatrix[5][5]={
{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25}
};
intsum=getLowerTriangleSum(matrix);
printf("lowertrianglesumofmatrixis%d ",sum);
return0;
}
Ⅱ C語言矩陣上三角和下三角
上下三角是以主對角線分開的,主對角線就是從二維數組的第一個元素與最後一個元素連一條直線的那些元素組成的,也就是1,5,9。所以上三角就是123
56
9
下三角就是剩下的那些元素。
Ⅲ 用c語言編寫程序求矩陣5*5的上三角之和,下三角之和
1、打開Dev-c++軟體,點擊「新建源代碼」。
Ⅳ C語言:5X5矩陣,右下角含主對角線各元素加10,左下角的元素都加5
#include<stdio.h>
int main()
{
unsigned int arr[5][5] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
for(int i = 0;i < 5;++i)
{
for(int j = 0;j < 5;++j)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
for(int i = 0;i < 5;++i)
{
for(int j = 0;j < 5;++j)
{
if(j > i)
{
arr[i][j] += 5;
}
else
{
arr[i][j] += 10;
}
}
}
for(int i = 0;i < 5;++i)
{
printf("\n");
for(int j = 0;j < 5;++j)
{
printf("%d ",arr[i][j]);
}
}
getchar();
return 0;
}
/*
void fun()
{
float a,b,c,d,e,a1,b1,c1,d1,e1,x;
scanf("%f %f %f %f %f",&a,&b,&c,&d,&e);
scanf("%f %f %f %f %f",&a1,&b1,&c1,&d1,&e1);
scanf("%f",&x);
int a2,b2,c2,d2,e2;
int a3 = 0,b3 = 0,c3 = 0,d3 = 0,e3 = 0;
float result = 0;
for(a2 = 0;a2 <= (x / a);++a2)
{
for(b2 = 0;b2 <= (x / b);++b2)
{
for(c2 = 0;c2 <= (x / c);++c2)
{
for(d2 = 0;d2 <= (x / d);++d2)
{
for(e2 = 0;e2 <= (x / e);++e2)
{
float w = a*a2 + b*b2 + c*c2 + d*d2 + e*e2;
float tr = a2*a1 + b2*b1 + c2*c1 + d2*d1 + e2*e1;
if((w <= x) && (tr > result))
{
a3 = a2;
b3 = b2;
c3 = c2;
d3 = d2;
e3 = e2;
result = tr;
++w;
}
}
}
}
}
}
printf("%d %d %d %d %d\n%f",a3,b3,c3,d3,e3,result);
getchar();
}
*/
Ⅳ c語言中二維數組中的「下三角元素」求和怎麼求
c語言中二維數組中的「下三角元素」求和怎麼求?
具體程序如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,j,sum=0;
scanf("%d",&n); //輸入數組大小
int a[n+1][n+1]; //定義數組
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]); //循環輸入數組
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
sum+=a[i][j]; //循環將矩陣下三角元素相加
printf("%d",sum); //輸出結果
return 0;
}
Ⅵ C語言 求一個5*5矩陣下三角元素只和
#include<stdio.h>
int main()
{
float a[5][5];
int j,i;
float sum=0;
for (j=0;j<5;j++) for (i=0;i<5;i++) a[j][i]= j*5+i+1; //假定這里給入數組數據
for (j=0;j<5;j++) for (i=0;i<5;i++)
if (i<=j)sum=sum+a[j][i]; //下三角
printf("sum=%f\n",sum);
return 0;
}
Ⅶ C語言編程求矩陣的下三角之和,要有代碼的,謝謝
#include <stdio.h>
void main()
{
int a[4][4],i,j,t=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
a[i][j]=4*i+j; //初始化數組,可以自己輸入
for(i=0;i<4;i++)
//for(j=i;j<4;j++) //上三角
for(j=0;j<=i;j++) //下三角
t=t+a[i][j];
printf("%d\n",t);
}
Ⅷ C語言實驗——矩陣下三角元素之和
#include <iostream>
using namespace std;
template<class T>
T GetBlowSum(const int n,const int st=0){//0:下三角。非0:上三角
T** p=new T*[n];
T re=T();
for(int i0=0;i0!=n;i0++)
p[i0]=new T[n];
for(int i=0;i!=n;i++){
for(int j=0;j!=n;j++){
cout<<"Please Input the value at row ["<<i+1<<"] & cross ["<<j+1<<"]:";
cin>>p[i][j];
cout<<endl;
}
}
if(st==0){
for(int i1=0;i1!=n;i1++){
for(int j1=0;j1!=i1+1;j1++){
re+=p[i1][j1];
}
}
}else{
for(int i1=0;i1!=n;i1++){
for(int j1=i1;j1!=n;j1++){
re+=p[i1][j1];
}
}
}
for(int i2=0;i2!=n;i2++){
for(int j2=0;j2!=n;j2++){
cout<<p[i2][j2]<<'\t';
}
cout<<endl;
}
cout<<endl;
for(int k=0;k!=n;k++)
delete [] p[k];
delete [] p;
return re;
}
int main(){
int n;
int re;
cout<<"Input the value of n as you want."<<endl;
cin>>n;
re=GetBlowSum<int>(n);
cout<<"The result is "<<re<<"."<<endl;
return 0;
}