簡體   English   中英

如何將二維數組的元素與其元素的 rest 進行比較?

[英]How to compare an element of a 2D array with rest of the its elements?

我知道我可以使用單個數組來執行此操作,但如果我確實使用單個數組,它會提出我正在為我做的更難的問題。 比如說我有一個二維數組:

[["E", "A"], ["R", "B"], ["C", "D"]]

如何將每個元素與元素的 rest 進行比較? 例如,“E”與“A”、“R”、“B”等進行比較。二維數組將始終由 1×2 子數組組成。 請問誰能幫幫我,謝謝。


#include<iostream>

int main(){
    int arr[2][2] = {
    {1,2},
    {3,4},
    };
    int elem;
    for (int i = 0;i < 2;i++){
        for(int j = 0;j < 2;j++){
            //Now you're on the first element
            // I have used a size of 2, but you can use whatever size you want
            elem = arr[i][j];
            for (int a = 0;a < 2;a++){
                for(int b = 0;b < 2;b++){
                    if (arr[a][b] == elem) continue;
                    //Do whatever you want now;
                    std::cout << "Comparing " << elem << " with " << arr[a][b] << "\n";
                }
            }

        }
    }
    return 1;
}


這是 output

Comparing 1 with 2
Comparing 1 with 3
Comparing 1 with 4
Comparing 2 with 1
Comparing 2 with 3
Comparing 2 with 4
Comparing 3 with 1
Comparing 3 with 2
Comparing 3 with 4
Comparing 4 with 1
Comparing 4 with 2
Comparing 4 with 3

#include <array>       // std::array
#include <utility>     // std::pair
    
using namespace std;
    
int main()
{
    // build objects
    pair<char, char> element1('E', 'A');
    pair<char, char> element2('R', 'B');
    pair<char, char> element3('C', 'D');
    array<pair<char, char>, 3> my_array = {element1, element2, element3};

    // perform comparisons
    for (int i = 0; int i != my_array.size(); ++i) {
        yourCompareFunction(my_array[i].first, my_array[i].second);
        for (int j = i + 1; int j != my_array.size(); ++j) {
            yourCompareFunction(my_array[i].first, my_array[j].first); 
            yourCompareFunction(my_array[i].first, my_array[j].second);
            yourCompareFunction(my_array[i].second, my_array[j].first); 
            yourCompareFunction(my_array[i].second, my_array[j].second);
         };
    };

return 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM