注册 登录
编程论坛 C++教室

我是新手这个问题难到我了。

mali 发布于 2007-05-30 10:18, 527 次点击
编写下列程序:
定义一个5*5的数组,将1至25的整数按行放入数组中。编程实现以下功能:
(1)输出数组矩阵左下半三角形的元素。
(2)求矩阵两条对角线上元素的和。
7 回复
#2
aipb20072007-05-30 11:46
这么简单也难的到你
自己想想吧,很easy的!
#3
mali2007-05-31 17:40
mali

各位!!有谁可能帮帮忙呀!!

#4
neverDie2007-05-31 17:51
(1)输出数组矩阵左下半三角形的元素。


包括对角线吗?
#5
yuyunliuhen2007-05-31 20:25


for(int i=0;i<5;i++) // matrix
cout<<endl;
for(int j;j<5;j++)
a[i][j]=++num;

(1)
for(int i=0;i<5;i++) // part of the element triangle
for(int j;j<=i;j++)
cout<<a[i][j]<<endl;

(2)
for(int i=0;i<5;i++)

cout<<"The left catercorner's element is"<<arr[i][i]<<endl;

for(int i=0;i<5;i++)
for(int j=4;j>=0;j--)
{
if(i+j==4)
cout<<"The right catercorner's element is"<<arr[i][j]<<endl;
}




#6
aipb20072007-05-31 22:43
yuyunliuhen大哥,你那个matrix的赋值是不是忘了个括号啊!!!
#7
yuyunliuhen2007-05-31 23:14

呵呵,还是你比较细心,cout<<endl;这个多写了,thank you !
#include<iostream>
#include <iomanip>
using namespace std;
int main()
{
int count=0,sum1=0,sum2=0,;
int arr[5][5];
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
arr[i][j]=++count;
for(int i=0;i<5;i++)
{
cout<<endl;
for(int j=0;j<5;j++)
cout<<setw(5)<<arr[i][j]<<" ";
cout<<endl;


}
for(int i=0;i<5;i++)
for(int j=0;j<=i;j++)

cout<<arr[i][j]<<endl;
for(int i=0;i<5;i++)

cout<<"The left catercorner's element is"<<arr[i][i]<<endl;
for(int i=0;i<5;i++)
for(int j=4;j>=0;j--)
{
if(i+j==4)
cout<<"The right catercorner's element is"<<arr[i][j]<<endl;
}
system("pause");
return 0;
}
gcc:
OUTPUT

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
1
6
7
11
12
13
16
17
18
19
21
22
23
24
25
The left catercorner's element is1
The left catercorner's element is7
The left catercorner's element is13
The left catercorner's element is19
The left catercorner's element is25
The right catercorner's element is5
The right catercorner's element is9
The right catercorner's element is13
The right catercorner's element is17
The right catercorner's element is21

#8
aipb20072007-06-01 17:34
1