嘿伙计们,我被分配创建一个程序,创建由10个随机整数组成的n个数组。程序应该对所有整数求和并显示结果。之后,它必须验证哪个总和最大,并且必须显示该数组和结果。我有麻烦完成它,并希望得到一些帮助! 再次感谢。 到目前为止,这是我的代码:
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
double random(unsigned int &seed);
unsigned int seed = 5;
void generateData(int set[10]);
int sumData(int set[10]);
void checkData(int sumResult, int arrayNumber);
int main (int argc, char * const argv[]) {
int arrayNumber, sumResult;
int set[10];
do {
cout << "Number of Arrays to Compare: " << endl;
cin >> arrayNumber;
} while (arrayNumber < 0);
for (int i = 0; i < arrayNumber; ++i) {
generateData(set);
sumResult = sumData(set);
cout << "Sum --> " << sumResult << endl;
checkData(sumResult, arrayNumber);
}
return 0;
}
double random(unsigned int &seed) {
const int MODULUS = 15749;
const int MULTIPLIER = 69069;
const int INCREMENT = 1;
seed = ((MULTIPLIER * seed) + INCREMENT) % MODULUS;
return double(seed) / double(MODULUS);
}
void generateData(int set[10]) {
for (int i = 0; i < 10; ++i) {
set[i] = int (5 + 6 * random(seed));
cout << set[i] << " || ";
}
}
int sumData(int set[10]) {
int sumTotal = 0;
for (int i = 0; i < 10; ++i)
sumTotal = sumTotal + set[i];
return sumTotal;
}
void checkData(int sumResult, int arrayNumber) {
int largerNumber;
int tempSet[2];
for (int i = 0; i < arrayNumber; ++i) {
if (sumResult > largerNumber) {
tempSet[i] = sumResult;
}
}
}
答案 0 :(得分:2)
您的问题是
创建一个程序,创建由10个随机整数组成的n个数组....
int
大小为10
的数组。你应该做什么
正在做的是分配一个2D数组
大小arrayNumber X 10
,称之为
set
。arrayNumber
名为say,
sumArray
保留每个的总和
阵列。因此sumArray[i]
将是ith
中set
数组的所有元素的总和。maxIndex
sumArray
)
maxIndex
打印数组
在set
中,这将是数组
最高金额。答案 1 :(得分:0)
要创建整数数组的数组,一种简单的方法是执行以下操作:
int **createArrayOfArrays(int number, int lengthOfEach)
{
int **array_of_arrays = (int**) malloc(sizeof(int*) * number);
int ix;
for(ix = 0; ix < number; ix++)
{
array_of_arrays[ix] = (int*) malloc(sizeof(int) * lengthOfEach);
}
return array_of_arrays;
}
不要忘记在最后释放所有内存,你需要释放每个数组和数组数组(每个malloc一个)。
答案 2 :(得分:0)
大小为10的数组,每个都可以用c#
这样做int n;
n= Convert.ToInt32(Console.ReadLine());
int [,] mat=new int [n ,10];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < 10; j++)
mat[i,j] = 0;
}