Ⅰ 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;
}
Ⅱ C語言矩陣上三角和下三角
上下三角是以主對角線分開的,主對角線就是從二維數組的第一個元素與最後一個元素連一條直線的那些元素組成的,也就是1,5,9。所以上三角就是123
56
9
下三角就是剩下的那些元素。
Ⅲ 急~~~c語言用數組表示一個下三角矩陣,鍵盤輸入,並列印
函數 fun() 計算上三角所有元素之和。參數1是數組,參數2是n*n數組大小n.
返回 上三角元素之和。
調用方法: fun(&a[0][0],n)
程序如下:
#include<stdio.h>
#include<stdlib.h>
float fun(float *a, int n){
int i,j;
float sum=0;
for (j=0;j<n;j++)
for (i=j;i<n;i++)sum = sum + a[j*n+i];
return sum;
}
main(){
float a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int n=4;
printf("%g",fun(&a[0][0],n));
return 0;
}
算例輸出: 70
Ⅳ C語言矩陣上三角和下三角
上三角和下三角是根據主對角線來劃分的;
在你舉得列子力
123
456
789
的159就是這個這個數列的主對角線
所以
123
56
9
是上三角;
1
45
789
是下三角
Ⅳ 用c語言編寫程序求矩陣5*5的上三角之和,下三角之和
1、打開Dev-c++軟體,點擊「新建源代碼」。
Ⅵ C語言 輸出矩陣的下三角*/**/***/****
#include <iostream>
using namespace std;
int main(){
int i;
cout <<"輸入你要的行數 :";
cin>>i;
for(int j= 1; j <=i; j++ ){
for(int m = 1; m <= j; m++){
cout <<"*";
}
cout << endl;
}
system("Pause");
return 0;
}
Ⅶ (1) 用C語言編程輸出下列倒三角矩陣
#include <stdio.h>
#define N 4
main()
{
int i,j,a[N][N]={{3,5,6,3},{0,8,9,1},{0,0,5,0},{0,0,0,7}};
for(i = 0;i < N; ++i) {
for(j = 0; j < N; ++j) {
if(j < i) printf(" ");
else printf("%3d",a[i][j]);
} printf("\n");
}
}
//這個已經試驗過了,給你的一樣,若你的數有規律,或者想要隨機數就用一樓的
Ⅷ C語言編程序實現:從鍵盤輸入一個4行4列矩陣的各個元素的值,將該矩陣的下三角部分全部倒置為0,並輸出該矩陣
#include<stdio>
void main()
{
int a[4][4];
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
printf("原來的矩陣為:%d\n",a[i][j]");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(i<=j)
a[i][j]=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
printf("倒置後的矩陣:%d\n",a[i][j]);
}
Ⅸ 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 <stdio.h>
void main()
{
int i,j,n,*tem[3];
int p[2][3],q[3][2],r[2][2];
tem[0]=p[0];tem[1]=q[0];tem[2]=r[0];
printf("請輸入第1個矩陣:\n");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
r[i][j]=0;
}
}
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",tem[0]+3*i+j);
}
}
printf("請輸入第2個矩陣:\n");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
scanf("%d",tem[1]+2*i+j);
}
}
printf("輸出2個矩陣相乘得到的矩陣:\n");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
for(n=0;n<3;n++)
{
r[i][j]+=(*(tem[0]+3*i+n))*(*(tem[1]+2*n+j));
}
}
}
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%d\t",*(tem[2]+i*2+j));
}
printf("\n");
}
getch();
}