对于家庭作业,我们已被告知要编写sum,find_max和find_min等函数,这些函数在2D矩阵上运行。我会使用这样的东西来正常找到最大值。
double find_max(double *the_array, int row_size, int col_size) {
double maxValue = *the_array[0][0];
for (int i = 0; i < col_size; i++) {
for (int j = 0; j < row_size; j++) {
if (*the_array[i][j] > maxValue) {
maxValue = *the_array[i][j];
}
}
}
}
但是,我们已经被告知使用指针代替数组来完成这项功课。我猜这意味着我需要使用指针算法来完成数组,但我不知道该怎么做。我使用什么样的循环?我怎么知道何时告诉它停止?
答案 0 :(得分:0)
喜欢这个 你的the_array实际上只是大小行* col的线性记忆。
double find_max(double *the_array, int row_size, int col_size)
{
double *iterator = the_array;
double *end = the_array + row_size * col_size;
double max = DBL_MIN;
while (iterator < end) {
if (*iterator > max)
max = *iterator;
++iterator;
}
return max;
}
答案 1 :(得分:0)
the_array应该是指针在double上的指针。我的意思是:
inlineEditing: {
keys: true,
extraparam: { arg1: "bol_acct" },
serializeSaveData: function (postData) {
var newPostData = $.extend(true, {}, postData);
if (newPostData.oper === "add") {
delete newPostData.id; // delete id parameter
}
return newPostData;
}
}