帮忙解决c++的关于 数组的问题 紧急! 要用c++做啊

来源:百度知道 编辑:UC知道 时间:2024/06/01 21:36:22
1.从键盘上或文件中输入一个8行8列的实数矩阵到一个二维数组中,求出其主对角线上元素之乘积(即a[0][0]* a[1][1]*……*a[n-1][n-1])。

2.某学校有12名学生参加100米短跑比赛,每个运动员号和成绩如下表所示,请按照比赛成绩排名并输出,要求每一行输出名次,运动员号和比赛成绩三项数据。
要求:排序时使用冒泡排序法或插入排序法。
100米短跑比赛成绩
运动员号 成绩(秒) 运动员号 成绩(秒)
1 13.6 2 14.9
3 14.8 4 12.6
5 12.0 6 13.4
7 12.7 8 12.5
9 15.6 10 15.3
11 13.4 12 12.7

3(选做)在一个矩阵中,如某元素比同列及同行的相邻元素都大,则称为极大点,如某元素比同列及同行的相邻元素都小,则称为极小点;如某元素比同行的相邻元素都大而比同列的相邻元素都小,或者比同行的相邻元素都小而比同列的相邻元素都大,则称为鞍点。
例如,下图所示的矩阵中, 等都是极大点, 都是极小点,而 则是一个鞍点。

编程实现,找出矩阵中所有的极点和鞍点。

4(选做)设计一个程序,输入某天的日期(年、月、日),要求算出这一天是本年的第几天。
提示:要算出某天是当年的第几天,应该将当年中本月之前所有月的天数相加,再加上本月的天数。但要注意闰年问题,二月是一个特殊月,如该年是闰年,则二月有29天,否则,便是28天。

第一题O(∩_∩)O~
#include<iostream>

using namespace std;
main()
{
int product = 1;
int i ,j ;
int array[8][8];
for(i = 0;i < 8;i ++)
{
for(j = 0;j < 8;j ++)
cin>>array[i][j];
}
for(i = 0;i < 8;i ++)
{
product *= array[i][i];
}
cout<<product<<endl;
}

第二题
#include<iostream>

using namespace std;

void main()
{
int i ,j ,index ;
double temp;
double array[12][2];
for(i = 0;i < 12;i ++)
{
cin>>array[i][0]>>array[i][1];
}
for(i = 0;i < 11;i ++)
{
index = i;
for(j = i + 1;j < 12;j ++)
{
if(array[index][1]>array[j][1])index = j;
}
{
temp = array[index][0];
array[index][0] = array[i][0];
array[i][0] = temp;

temp = array[index][1];
array[index][1] = array