【1701H1】【穆晨】【171013】连续第三天总结

本文介绍了一个C++程序,该程序能够创建并展示一个3行4列的二维数组,并找到数组中的最大值和最小值及其位置。之后,程序将最大值与数组的最后一个元素交换,并将最小值与数组的第一个元素交换。

任务:程序

#include<iostream.h>

#define r 3                     定义行为3行

#define c 4                    定义列为4行

void main()

{

int b[r][c]={{1,2,3,4},{5,6,7,8},{9,10,11,12,13}};         输入3行4列

int i,j,min,minr,minc,maxr,maxc,max,t;                       定义

cout<<"原数组为:\n"                                                    用下面循环把输入的数字在程序中表现出来。

for(i=0;i<r;i++){                                                              行,内置列循环,4列结束一次内循环,返回

for(j=0;j<c;j++)                                                                外循环,重新画一行,再来内循环。

cout<<b[i][j]<<'\t'                                                             \t tab

cout<<'\n';                                                                        输出一次外循环,来一次\n换行。

min=max=b[0][0];                                                        先把第一行第一列的元素赋值给最小值,最大值。

minr=minc=maxr=maxc=0;                                            赋值0

for(i=0;i<r;i++){                                                               内外循环,从第一行第一列开始与第一行第一列元素

for(j=0;j<c;j++){                                                               比较,循环结束,找出最大值与最小值、最小行和列,最大行和列

if(b[i][j]<min)min=b[i][j],minr=i,minc=j;

if(b[i][j]>max)max=b[i][j],maxr=i,maxc=j;

}

}

if(b[0][0]==max)maxr=minr,maxc=minc;                           若第一个元素为最大值,把最小值行赋值给最大值行,同理列

t=b[0][0];                                                                      最大值被交换到最小值位置

b[0][0]=b[minr][minc];

b[minr][minc]=t;

t=b[r-1][c-1];                                                          最后一个元素赋值给t

b[r-1][c-1]=b[maxr][maxc];                                         最大值赋值给最后一个元素

b[maxr][maxc]=t;                                                    t赋值给最大值;此一系列操作即为最大值与最后一个元素交换。

cout<<"交换后的数组为:\n";                       

for(i=0;i<r;i++){                                                    输出

for(j=0;j<c;j++)  

cout<<b[i][j]<<'\t';

cout<<'\n';

}

}

明日任务:函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值