Untitled
unknown
plain_text
3 years ago
1.8 kB
5
Indexable
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <string.h>
#define max(x, y) x > y? x: y
int count(char* buffer) {
for (int i = 0; i < strlen(buffer); i++) {
if (buffer[i] == '\n') {
buffer[i] = ' ';
}
}
int wasLetter = 0;
int n = 0;
for (int i = 0; i < strlen(buffer); i++) {
if (buffer[i] != ' ') {
wasLetter = 1;
} else {
if (wasLetter == 1) {
n++;
wasLetter = 0;
}
}
}
char** words = (char**)(malloc(sizeof(char**) * n));
int last = 0;
int id = 0;
for (int i = 1; i < strlen(buffer); i++) {
if (buffer[i] == ' ') {
char* s = (char*)(malloc(sizeof(char*) * (i - last - 1)));
words[id] = (char*)(malloc(sizeof(char*) * (i - last - 1)));
int l = 0;
for (int j = last + 1; j < i; j++) {
s[l++] = buffer[j];
}
if (strcmp(s, "") != 0) {
strcpy(words[id], s);
id++;
}
last = i;
}
}
// printf("\n");
// for (int i = 0; i < n; i++) {
// printf("\'%s\'\n", words[i]);
// }
int mx = 0;
for (int i = 0; i < n; i++) {
int counter = 0;
for (int j = 0; j < n; j++) {
if (strcmp(words[i], words[j]) == 0) {
counter++;
}
}
mx = max(mx, counter);
}
return mx;
}
int main() {
char* buffer = (char*)(malloc(sizeof(char*) * 202));
int l = 0;
buffer[l++] = ' ';
char c;
while ((c = getchar()) != EOF) {
buffer[l++] = c;
}
buffer[l++] = ' ';
// printf("%s", buffer);
printf("%d", count(buffer));
return 0;
}Editor is loading...