Я совсем новичок в C и только что узнал о распределении динамической памяти с использованием malloc, realloc, calloc и free.
Я хочу создать небольшую программу, которая принимает число int в качестве количества строк, которые будут переданы, а затем "сканировать" их все. Затем поиграйте с этими струнами. Например, найдите наиболее часто встречающееся и распечатайте его.
Например, когда я запускаю программу и набираю:
5
car house dog tree tree
Он должен напечатать:
tree 2
Мне нужен scanf-printf, потому что это методы ввода / вывода, с которыми я наиболее знаком на данный момент.
Мой код:
int main (){
int N,i,j ;
char *array;
int *freq;
scanf("%d",&N);
array = (char*)calloc(N,sizeof(char*));
for (i=0;i<=N;i++){
scanf( ??? );
}
free(array);
return 0;
}
Что мне нужно ввести в функцию сканирования, чтобы правильно заполнить массив строками? После заполнения я буду использовать что-то вроде strcmp и цикл for, чтобы просканировать массив и найти наиболее часто встречающееся слово? (Я могу сохранить частоты в * freq)