Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค่าเฉลี่ยและค่ามัธยฐานของเมทริกซ์ใน C++


ในปัญหานี้ เราได้รับอาร์เรย์ 2 มิติขนาด n*n งานของเราคือสร้างโปรแกรมที่จะพิมพ์ค่ากลางและค่ามัธยฐานของเมทริกซ์ในภาษา C++

ค่าเฉลี่ย คือค่าเฉลี่ยของวันที่ที่ตั้งไว้ ในเมทริกซ์ ค่าเฉลี่ยคือค่าเฉลี่ยขององค์ประกอบทั้งหมดของเมทริกซ์

ค่าเฉลี่ย =(ผลรวมขององค์ประกอบทั้งหมดของเมทริกซ์)/(จำนวนองค์ประกอบของเมทริกซ์)

ค่ามัธยฐาน เป็นองค์ประกอบที่อยู่ตรงกลางสุดของชุดข้อมูลที่จัดเรียง สำหรับสิ่งนี้ เราจะต้องจัดเรียงองค์ประกอบของเมทริกซ์

ค่ามัธยฐานคำนวณเป็น

ถ้า n เป็นเลขคี่ มัธยฐาน =เมทริกซ์[n/2][n/2]

ถ้า n เป็นเลขคู่ มัธยฐาน =((เมทริกซ์[(n-2)/2][n-1])+(เมทริกซ์[n/2][0]))/2

ตัวอย่าง

โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา

#include <iostream>
using namespace std;
const int N = 4;
int calcMean(int Matrix[][N]) {
   int sum = 0;
   for (int i=0; i<N; i++)
      for (int j=0; j<N; j++)
         sum += Matrix[i][j];
      return (int)sum/(N*N);
   }
   int calcMedian(int Matrix[][N]) {
      if (N % 2 != 0)
         return Matrix[N/2][N/2];
      if (N%2 == 0)
         return (Matrix[(N-2)/2][N-1] + Matrix[N/2][0])/2;
}
int main() {
   int Matrix[N][N]= {
      {5, 10, 15, 20},
      {25, 30, 35, 40},
      {45, 50, 55, 60},
      {65, 70, 75, 80}};
   cout<<"Mean of the matrix: "<<calcMean(Matrix)<<endl;
   cout<<"Median of the matrix : "<<calcMedian(Matrix)<<endl;
   return 0;
}

ผลลัพธ์

Mean of the matrix: 42
Median of the matrix : 42