使用子程序,有必要形成和显示数组A[15]
和B[14]
. 然后,在函数的帮助下,找到它们的最小值和最大值。
填充数组的问题。两个数组的前14个值始终相同,我不明白错误在哪里。
#include <iostream>
#include <time.h>
#include <cstdlib>
using namespace std;
void write(int M[], int x)
{
int i;
srand(time(NULL));
for (i=0; i < x; i ++) {
M[i] = rand();
}
}
void out(int M[], int x)
{
int i;
for (i = 0; i < x; i++) {
cout << i << ": " << M[i] << endl;
}
}
void max(int M[], int x)
{
int i, max = M[0];
for (i = 0; i < x; i++) {
if (max < M[i])
max = M[i];
}
cout << "Максимальное значение массива: " << max << endl;
}
void min(int M[], int x)
{
int i, min = M[0];
for (i = 0; i < x; i++) {
if (min > M[i])
min = M[i];
}
cout << "Минимальное значение массива: " << min << endl;
}
void main()
{
setlocale(LC_ALL, "ru");
int A[15], B[14];
cout << " Массив A" << endl;
write(A, 15);
out(A, 15);
max(A, 15);
min(A, 15);
cout << "---------------------------------------------------------------------------------------------------" << endl;
cout << " Массив B" << endl;
write(B, 14);
out(B, 14);
max(B, 14);
min(B, 14);
system("pause");
}
他们告诉世界多少次...
这个 -
为整个程序调用一次。
您只需在函数中说- 并再次
write
启动随机序列,使用当前时间值初始化生成器。而且由于它是确定到最近的一秒,并且这一秒在两次调用之间翻转的概率很小,所以你得到相同的序列......write