ПОМОГИТЕ ПОЖАЛУЙСТА СДЕЛАТЬ ЛАБУ ПО ПРОГРАМИРОВАНИЮ!!
Функция находит в строке самое длинное слово и возвращает указатель на него. С ее помощью реализовать размещение слов в выходной строке в порядке убывания их длины.(на СИ)
#include<stdio.h>//вкл. ввод-вывод
#include<string.h>//вкл. строки
#include<stdlib.h>//malloc, NULL
#include<unistd.h>//вкл. паузу
int main()
{
int count=0;
char text[512]={0}, *word, **arr;
arr=(char**)malloc(50*sizeof(char*));
if(!arr) exit(1);
printf("Enter your text:\n");
fgets(text,sizeof(text),stdin);
text[strlen(text)-1]='\0';
word=strtok(text," ,;:.");
while(word != NULL)
{
arr[count]=(char*)malloc(50*sizeof(char));
if(!arr[count]) exit(1);
arr[count]=word;
count++;
word=strtok(NULL, " ,;:.");
}
for(int i = 0; i < count; i++)
for(int j = 0; j < count; j++)
if(strlen(arr[i])>strlen(arr[j])&&i!=j)
{
char *temp=arr[i];
arr[i]=arr[j];arr[j]=temp;
}
printf("\nResult text:\n");
for(int i = 0; i < count; i++)
{
if(i>0) printf(" ");
printf("%s",arr[i]);
}
for(int i = 0; i < count; i++)
free(arr[i]);//освободить память строки
free(arr);//освободить память
fflush(stdout);//сброс буфера для паузы
sleep(5);//пауза
return 0;
}


