0
我試圖找到一個排序數組的模式,所以我寫了下面的代碼;但是,它給了我陣列中最大的數字。寫我的代碼尋找模式,但給我最大的數
任何人都可以幫我嗎?
typedef struct mode {
int self;
int size;
} mode;
mode findmode(int *arr, int size) {
mode x;
int i = 0;
int count = 1;
for (i = 0; i < size; i++) {
if (i > 1 && i < size) {
if (arr[i] == arr[i - 1]) ++count;
if (arr[i] != arr[i - 1]) {
x.size = count;
x.self = arr[i - 1];
count = 0;
++count;
}
if (arr[i] != arr[i + 1]) {
if (count > x.size) x.size = count;
x.self = arr[i];
}
}
}
return x;
}
你的倒數第二個if如何訪問數組的最後一個元素,並且最後一個if後面的兩個語句是否在'{}'中? –
我將它們包含在一個{}中,但它仍然不按我想要的方式工作 –
使用調試器和/或調試打印語句來跟蹤程序的執行。 – kaylum