Maison > Article > tutoriels informatiques > Renvoie la somme des éléments environnants du tableau à deux dimensions comme valeur de fonction
La première boucle for est utilisée pour calculer la somme des lignes supérieure et inférieure de la matrice, et la seconde boucle for est utilisée pour calculer la somme des éléments de la colonne la plus à gauche et de la colonne la plus à droite, à l'exception des deux éléments. Enfin, les deux sommations sont additionnées pour obtenir la somme des éléments environnants.
〔Programme source〕
#inclure
#inclure
#définir M4
See More#définir N°5
int amusant(int a[M][N])
{int sum=0,i;
pour(i=0;i somme+=a[0][i]+a[M-1][i]; pour(i=1;i somme+=a[i][0]+a[i][N-1]; somme de retour ; } principale() {int aa[M][N]={{1,3,5,7,9}, {2,9,9,9,4}, {6,9,9,9,8}, {1,3,5,7,0}}; int i,j,y; clrscr(); printf("Les données originales sont :\n"); pour(i=0;i {for(j=0;j printf("\n"); } y=amusant(aa); printf("\nLa somme : %d\n",y); printf("\n"); } fonction privée Anyl(A()() AS INTEGER,byval m comme entier,byval n comme entier) aussi longtemps tol=sum_side(A,m,n) imprimer le tol si m=n alors sd=Diag(A,m) sid=InDiag(A,m) imprimer sd imprimer sid autre imprimer "m≠n" fin si fin de fonction fonction privée Sum_side(A()() AS INTEGER,byval m_side comme entier,byval n_side comme entier) aussi longtemps dim sum aussi longtemps somme=0 n_side=n_side-1 pour i=0 à n étape 1 somme=somme+A(0)(i) suivant je m=m-2 pour i=1 à m étape 1 somme=somme+A(i)(0) somme=somme+A(i)(n) suivant je m=m+1 pour i=0 à n étape 1 somme=somme+A(m)(i) suivant je sum_side=somme fin de fonction fonction privée Diag(A()() AS INTEGER,byval m as entier) aussi longtemps diminuer Sum_Diag aussi longtemps m=m-1 Sum_Diag=0 POUR i=0 à m étape 1 Sum_Diag=Sum_Diag+A(i)(i) suivant je Diag=Somme_Diag fin de fonction fonction privée InDiag(A()() AS INTEGER,byval m as entier) aussi longtemps diminuer Sum_InDiag aussi longtemps m=m-1 Sum_Diag=0 POUR i=0 à m étape 1 Sum_InDiag=Sum_InDiag+A(i)(m-i) suivant je InDiag=Somme_InDiag fin de fonctionLa somme des éléments de bord d'un tableau bidimensionnel
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!