Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm giá trị lớn nhất trong mảng struct bằng C++


Ở đây chúng ta sẽ thấy cách lấy giá trị lớn nhất trong mảng struct. Giả sử có một struct như sau cho trước. Chúng ta phải tìm phần tử lớn nhất của mảng kiểu struct đó.

struct Height{    int feet, inch; };
Ý tưởng rất đơn giản. Chúng ta sẽ duyệt mảng, và theo dõi giá trị lớn nhất của phần tử mảng tính bằng inch. Giá trị là 12*feet + inch

Ví dụ

#include<iostream> #include<algorithm> using namespace std; struct Height{    int feet, inch; }; int maxHeight(Height h_arr[], int n){    int index = 0;    int height = INT_MIN;    for(int i = 0; i < n; i++){       int temp = 12 * (h_arr[i].feet) + h_arr[i].inch;       if(temp > height){          height = temp;          index = i;       }    }    return index; } int main() {    Height h_arr[] = {{1,3},{10,5},{6,8},{3,7},{5,9}};    int n = sizeof(h_arr)/sizeof(h_arr[0]);    int max_index = maxHeight(h_arr, n);    cout << "Max Height: " << h_arr[max_index].feet << " feet and " << h_arr[max_index].inch << " inches"; }

Kết quả

Max Height: 10 feet and 5 inches