J'essaie de comprendre exactement ce que ce code essaie d'accomplir. La fonction median a été donnée, mais j'ai ajouté la fonction principale et typedef/prototypes dans les efforts pour comprendre ce qu'elle fait, en passant quelque chose dans la fonction. Cependant je peux comprendre quoi ou comment y passer quelque chose. Je comprends que la fonction est une sorte de sorte. Ce que j'ai vraiment besoin de savoir, c'est ce qui est exactement transmis à la fonction? Un tableau d'index N?Comment passez-vous un tableau à une fonction comme ceci: void fooboo (char array [i]);
Nous vous remercions de votre aide!
#include <stdio.h>
#include <stdlib.h>
typedef unsigned char pix_t;
pix_t median(pix_t window[N]);
int main() {
pix_t window[] = { 4, 3, 2, 1 };
pix_t output;
output = median(window[N]);
}
pix_t median(pix_t window[N])
{
pix_t t[N], z[N];
int ii, k, stage;
// copy locally
for (ii = 0; ii<N; ii++) z[ii] = window[ii];
for (stage = 1; stage <= N; stage++) {
k = (stage % 2 == 1) ? 0 : 1;
for (ii = k; ii<N - 1; ii++) {
t[ii] = MIN(z[ii], z[ii + 1]);
t[ii + 1] = MAX(z[ii], z[ii + 1]);
z[ii] = t[ii];
z[ii + 1] = t[ii + 1];
}
}
return z[N/2];
}
Vous ne savez pas si je le manque, mais où est défini 'N'? Ça ne semble pas même compiler. – ray
En outre, la fonction 'median' attend un tableau de' pix_t', mais vous n'envoyez qu'une seule valeur scalaire. – ray