есть код для нахождения числа, которое встречается в массиве чаще всего. сам массив записан в файле input.bin и выглядит вот так:
1 7 7 7 7 7 7 7 6 7 8 7 6 5 5
код:
#include <stdio.h>
#include <stdlib.h>
int findmostfrequentnumber(int arr[]) {
int maxcount = 0;
int mostfrequentnumber = 0;
for (int i = 0; i < 15; i++) {
int count = 1;
for (int j = i + 1; j < 15; j++) {
if (arr[j] == arr[i])
count++;
}
if (count > maxcount) {
maxcount = count;
mostfrequentnumber = arr[i];
}
}
return mostfrequentnumber;
}
int main() {
system("chcp 65001");
FILE* inputFile = fopen("input.bin", "rb");
if (inputFile == NULL) {
printf("ошибка открытия файла input.bin");
return 1;
}
int arr1[15];
fread(arr1, sizeof(int), 15, inputFile);
fclose(inputFile);
int result1 = findmostfrequentnumber(arr1);
FILE* outputFile = fopen("output.bin", "wb");
if (outputFile == NULL) {
printf("ошибка открытия файла output.bin");
return 1;
}
fwrite(&result1, sizeof(int), 1, outputFile);
fclose(outputFile);
}
в файл output.bin у меня записывается два числа 7, то есть дублируется. как сделать так, чтобы записывалось только одно число?