簡體   English   中英

Function 統計一個數組中有多少個數滿足某個條件

[英]Function to count how many numbers in an array meet a certain condition

我想創建一個 function 來計算數組包含多少“顯性”數字。 占主導地位的意思是一個數字比它自己右邊的任何東西都大。 我創建了 main 來測試它是否有效,但程序只是崩潰了。 有什么建議么?

    #include <stdio.h>
    #include <stdlib.h>
    #define NR 4
    #define NC 8
    int dominants(int arr[NR][NC]);
    int main(int argc,const char *argv[]){
          int n;
          int array[NR][NC]={{5,9,2,4,1,7,2,4}
                            ,{3,5,6,2,5,6,1,2}
                            ,{1,3,4,7,8,8,3,0}
                            ,{1,3,5,6,7,8,2,1}};

          n=dominants(array);
          printf("there are %d dominants", n);
          return 0;
    }
    int dominants(int arr[NR][NC]){
        int i, j, k, l;
        int flag, num;
        num=0;
        flag=0;
        for(i=0;i<NC;i++){
            for(j=0;j<NR;j++){
                for(k=i+1;j<NC;k++){
                    for(l=k+1;l<NR;l++){
                        if(arr[j][i]<=arr[l][k]){
                            flag=1;
                        }
                    }

                }
            }
            if(flag==1)
                num++;
        }


    return num;
    }

將第 24 行更改為條件有 j<NC 而它應該是 k<NC: "for(k=i+1;j<NC;k++){" to "for(k=i+1;k<NC;k++ ){"

暫無
暫無

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

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