Ⅰ 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();
}