58 lines
1.7 KiB
C
58 lines
1.7 KiB
C
#include <stdio.h>
|
|
#include <malloc.h>
|
|
#include "PointersLibs.h"
|
|
|
|
void SearchLongestWord(char s[], char **l)
|
|
{
|
|
*l = malloc(sizeof(char));
|
|
char *ptr_s = s,
|
|
*ptr_temp_s,
|
|
*ptr_last_char = LastCharOfString(s);
|
|
unsigned short max_lenght = ZERO;
|
|
while (ptr_s < ptr_last_char)
|
|
{
|
|
|
|
ptr_temp_s = IndexCharInPointers(ptr_s, ptr_last_char, ' ');
|
|
if (ptr_temp_s - ptr_s > max_lenght)
|
|
{
|
|
max_lenght = ptr_temp_s - ptr_s;
|
|
*l = realloc(*l, max_lenght);
|
|
CopyPointers(*l, ptr_s, ptr_temp_s);
|
|
(*LastCharOfString(*l)) = BACKSLASH_ZERO;
|
|
}
|
|
ptr_s = ptr_temp_s + ONE;
|
|
}
|
|
}
|
|
|
|
//---------------------------------------------------------------------------------------
|
|
// exe 2
|
|
// -----
|
|
//
|
|
// General : the program gets a string and searches for the longest
|
|
// word in it and saves it.
|
|
//
|
|
// Input : a string and a pointer of pointers.
|
|
//
|
|
// Process : the program goes over the array and checks if each
|
|
// word finds is longer than the last one that
|
|
// was longest.
|
|
//
|
|
// Output : the longest word.
|
|
//
|
|
//---------------------------------------------------------------------------------------
|
|
// Proggramer : Cohen Idan
|
|
// Student No : 211675038
|
|
// Date : 21.11.19
|
|
//---------------------------------------------------------------------------------------
|
|
void main(void)
|
|
{
|
|
typedef char string[MAX_SIZE_STRING];
|
|
|
|
string s = "Your feedback plays an important role in helping other buyers choose products and sellers.";
|
|
char f;
|
|
char *f1 = &f;
|
|
char *f2 = &f1;
|
|
SearchLongestWord(s, f2);
|
|
printf("%s\n", f1);
|
|
free(f1);
|
|
} |