[C++]Problème de boucle
Fermé
Loana
-
17 mars 2007 à 17:03
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 19 mars 2007 à 00:21
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 19 mars 2007 à 00:21
1 réponse
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
19 mars 2007 à 00:21
19 mars 2007 à 00:21
La première étape c'est d'isoler un carré de taille N à partir d'un pixel (i,j). Ca consiste donc à isoler le carré lignes i à N+i et colonnes j à N+j;
Ensuite étant donné un carré de taille N, faire la moyenne arithmétique revient à sommer les termes du carré et les diviser par N² :
Bonne chance
void extract(unsigned int N,unsigned int i,unsigned int j,int **matrix, int **agg){ unsigned int x,y; for(y=i;y<i+N;++y){ for(x=j;x<j+N;++x){ // agg doit être alloué sinon segmentation fault // matrix[x][y] doit exister sinon segmentation fault agg[i][j] = matrix[x][y]; } } }
Ensuite étant donné un carré de taille N, faire la moyenne arithmétique revient à sommer les termes du carré et les diviser par N² :
int arith_mean(unsigned int N,int **matrix){ unsigned int x,y,sum=0; for(y=0;y<N;++y){ for(x=0;x<N;++x){ // matrix[x][y] doit exister sinon segmentation fault sum += matrix[x][y]; } } return sum / (N * N); }
Bonne chance