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

โปรแกรม C++ หาค่ามัธยฐานขององค์ประกอบที่เก็บอยู่ในอาร์เรย์สองอาร์เรย์ที่ต่างกัน


เราจะพิจารณาโปรแกรม C++ เพื่อหาค่ามัธยฐานขององค์ประกอบที่เก็บอยู่ในอาร์เรย์สองอาร์เรย์ที่ต่างกัน

อัลกอริทึม

Begin   ฟังก์ชัน Median() มีอาร์กิวเมนต์เป็นอาร์เรย์สองอาร์เรย์ a1[], a2[] และ n = จำนวนองค์ประกอบของอาร์เรย์:     เริ่มต้น i และ j ด้วย 0 และ n1 และ n2 ด้วย -1     สำหรับ c ในช่วง 0 ถึง n ทำ       ถ้า i = n แล้ว         n1 := n2         n2 := a2[0]         หยุดลูป       ถ้าไม่ ถ้า j = n แล้ว         n1 := n2         n2 := a1[0]         หยุดลูป       ถ้า a1[i] < a2[j] แล้ว         n1 := n2         n2 := a1[i]         เพิ่ม i ขึ้น 1       ถ้าไม่         n1 := n2         n2 := a2[i]         เพิ่ม j ขึ้น 1       เสร็จสิ้น         คืนค่าค่าเฉลี่ยของ n1 และ n2 End

ตัวอย่างโค้ด

#include<iostream> #include <bits/stdc++.h> using namespace std; int Median(int a1[],int a2[], int n) {   int i = 0;   int j = 0;   int c;   int n1 = -1, n2 = -1;   for (c = 0; c <= n; c++) {     if (i == n) {       n1 = n2;       n2 = a2[0];       break;     }     else if (j == n) {       n1 = n2;       n2 = a1[0];       break;     }     if (a1[i] < a2[j]) {       n1 = n2;       n2 = a1[i];       i++;     } else {       n1 = n2;       n2 = a2[j];       j++;     }   }   return (n1 + n2)/2; } int main() {   int n1,n2, i;   cout<<"\nEnter the number of elements for 1st array: ";   cin>>n1;   int a1[n1];   for(i = 0; i < n1; i++) {     cout<<"Enter element for 1st array"<<i+1<<": ";     cin>>a1[i];   }   cout<<"\nEnter the number of elements for 2nd array: ";   cin>>n2;   int a2[n2];   for(i = 0; i < n2; i++) {     cout<<"Enter element for 2nd array "<<i+1<<": ";     cin>>a1[i];   }   if (n1 == n2)     cout << "Median is "     << Median(a1, a2, n1) ;   else     cout << "Doesn't work for arrays"     << " of unequal size";   return 0; }

ผลลัพธ์

Enter the number of elements for 1st array: 5 Enter element for 1st array1: 2 Enter element for 1st array2: 4 Enter element for 1st array3: 6 Enter element for 1st array4: 7 Enter element for 1st array5: 9 Enter the number of elements for 2nd array: 5 Enter element for 2nd array 1: 20 Enter element for 2nd array 2: 40 Enter element for 2nd array 3: 60 Enter element for 2nd array 4: 70 Enter element for 2nd array 5: 90 Median is 20