c++ 3行4列数组 用指针求每一行最小值

2024年11月23日 01:35
有1个网友回答
网友(1):

#include 
using namespace std;
#include 
#include 

const  int  N_rows = 3 ;            //这里可以改变数组的行和列
const  int  N_columns = 4 ;

// 用产生的随机数给数组赋值
void  setArray(int a[N_rows][N_columns])
{
int i = 0, j = 0 ;
for (i=0; i {
for (j=0; j {
// 产生随机数
a[i][j] = rand()%99 + 1 ;
}
}
}

// 输出数组
void  printArray(int a[N_rows][N_columns])
{
int i = 0, j = 0 ;
for (i=0; i {
for (j=0; j {
cout << "\t" << a[i][j] ;
}
cout << endl ;
}
}

// 输出第 n 行的最小值 (n从0算起)
void  printMin_of_Row(int a[N_rows][N_columns], int n)
{
int * p = a[n] ; // 等价于 int * p = &a[n][0] ;
int *p1 = p , *p2 = p + 1 ;

while (p2 {
p1 = ( *p1<*p2 ) ? p1 : p2 ;
++p2 ;
}
cout << "\n\t第" << n+1 << "行的最小数为" << *p1 << endl ;

}
int main()
{
// 设置随机种子
srand( time(NULL) ) ;

int  array[N_rows][N_columns] = { 0 } ;

setArray(array) ;

printArray(array) ;

for (int i=0; i {
printMin_of_Row(array, i) ;
}

return 0 ;
}