есть код основной программы, которая находит самое частовстречаемое число в массиве:
#include <stdio.h>
#include <stdlib.h>
#define INCLUDE_FUNCTION1
#ifdef INCLUDE_FUNCTION1
#include "function1.c"
#endif
int main() {
system("chcp 65001");
int arr[] = {1, 1, 1, 2, 2, 2, 2, 31, 31, 31, 31, 31, 5, 4, 9};
printf("массив: ");
for (int i = 0; i < 15; i++)
printf("%d ", arr[i]);
printf("\nнаиболее часто встречающееся число: %d\n", findmostfrequentnumber(arr));
return 0;
}
код для определения функции findmostfrequentnumber:
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;
}
но при компиляции возникает ошибка:
multiple definition of `findmostfrequentnumber'
как мне правильно подключить эту функцию, чтобы она корректно работала в основной программе?
upd:
код основной программы:
#include <stdio.h>
#include <stdlib.h>
#include "function1.h"
int main() {
system("chcp 65001");
int arr[] = {1, 1, 1, 2, 2, 2, 2, 31, 31, 31, 31, 31, 5, 4, 9};
printf("массив: ");
for (int i = 0; i < 15; i++)
printf("%d ", arr[i]);
printf("\nнаиболее часто встречающееся число: %d\n", findmostfrequentnumber(arr));
return 0;
}
код function1.h:
#ifndef FUNCTION1_H
#define FUNCTION1_H
int findmostfrequentnumber(int arr[]);
#endif
код function1.c:
#include "function1.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;
}