[Lập trình với C] Tính trung bình của các phần tử biên trong ma trận

Cách 1

float tinhTrungBinhPhanTuBienTrongMaTran(int matran[][100], int dong, int cot){
  int s=0;
  int sptb=0;
  for(j=0; j<cot; j++){
     s=s+matran[0][j];
     s=s+matran[dong-1][j];
     sptb=cot+cot;
   }

  for(i=1; i<dong-1; i++){
      s=s+matran[i][0];
      s=s+matran[i][cot-1];
      sptb+=2;
  }
  return s/(float)sptb;
}Code language: C++ (cpp)

Cách 2

float tinhTrungBinhPTBienTrongMaTran(int matran[][100], int dong, int cot){
   int tong=0, spt;
   spt=(cot+cot)+((dong+dong)-4);
     for(i=0; i<n; i++){
	if(i==0){
           for(j=0; j<n; j++)
	      tong+=matran[i][j];
	}else if(i>0 && i<n-1){
	      tong+=matran[i][0];
	      tong+=matran[i][n-1];
	}else if(i==n-1){
	    for(j=0; j<n; j++)
	       tong+=matran[i][j];
	}
     }
     return tong/(float)spt;
}Code language: C++ (cpp)

Đối với ma trận vuông, thì cách làm tương tự

Gửi phản hồi