


Помогите написать код на С++
Дана строка-предложение на английском языке. Вывести самое длинное слово
в предложении. Если таких слов нет, то вывести первое из них. Словом считать набор символов, знаком препинания и ограниченный пробелами, знаками препинания или началом /концом строки. Еще просьба можете написать ввод и вывод в стиле языка Си.
#include <stdio.h>
#include <string.h>
const char az[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int is_bukva(const char c)
{
for(int x = 0; x < strlen(az); x++)
if(az[x] == c) return 1;
return 0;
}
int main()
{
const int maxlen = 100;
char p[maxlen+1];
fgets(p,maxlen+1,stdin); /* ввод предложения */
char w[maxlen+1][maxlen+1]; /* хранилище слов */
int i = 0, j = 0;
int i_max = 0;
for(int x = 0; x < strlen(p); x++)
{
if(is_bukva(p[x]))
{
w[i][j] = p[x];
j++;
if( ! is_bukva(p[x+1]) )
{
w[i][j] = '\0';
if(strlen(w[i]) > strlen(w[i_max])) i_max = i;
j = 0;
i++;
}
}
}
printf("\n%s\n", w[i_max]);
return 0;
}