First Upload
This commit is contained in:
68
11/ex3.c
Normal file
68
11/ex3.c
Normal file
@@ -0,0 +1,68 @@
|
||||
#include "IdanStringPointersLib.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#define ROW 2
|
||||
#define COL 2
|
||||
|
||||
|
||||
BOOLEAN StringIsSubstringInVec(char * ptr_vec, char * ptr_string) // Lenght vector = COL
|
||||
{
|
||||
char *strings_amount = ptr_vec + (COL * MAX_SIZE_STRING);
|
||||
for (;ptr_vec < strings_amount && !(ptr_vec != ptr_string) * StringBInStringA(ptr_vec, ptr_string); ptr_vec += MAX_SIZE_STRING);
|
||||
|
||||
return ((ptr_vec != ptr_string) * StringBInStringA(ptr_vec, ptr_string));
|
||||
}
|
||||
|
||||
BOOLEAN StringIsSubstringInMat(char * ptr_mat, char * ptr_string) // Lenght = ROW
|
||||
{
|
||||
unsigned int step = COL * MAX_SIZE_STRING;
|
||||
char *vectors_amount = ptr_mat + (ROW * step);
|
||||
for (; ptr_mat < vectors_amount && !((ptr_mat != ptr_string) * StringIsSubstringInVec(ptr_mat, ptr_string)); ptr_mat += step);
|
||||
|
||||
return ((ptr_mat != ptr_string) * StringIsSubstringInVec(ptr_mat, ptr_string));
|
||||
}
|
||||
|
||||
BOOLEAN HaveSubstringInVec(char * ptr_mat, char * ptr_vec) // בודק בווקטור אם אחד האיברים הוא תת מחרוזת במטריצה
|
||||
{
|
||||
char *strings_amount = ptr_vec + (COL * MAX_SIZE_STRING);
|
||||
for (; ptr_vec < strings_amount && !(StringIsSubstringInMat(ptr_mat, ptr_vec)); ptr_vec += MAX_SIZE_STRING);
|
||||
|
||||
return (StringIsSubstringInMat(ptr_mat, ptr_vec));
|
||||
}
|
||||
|
||||
BOOLEAN HaveSubstringInMat(char * ptr_mat) // בודק אם קיימת תת מחרוזת במטריצה למחרוזת במטריצה
|
||||
{
|
||||
unsigned int step = COL * MAX_SIZE_STRING;
|
||||
char *vectors_amount = ptr_mat + (ROW * step);
|
||||
char *ptr_temp_mat = ptr_mat;
|
||||
for (; ptr_mat < vectors_amount && !(HaveSubstringInVec(ptr_temp_mat, ptr_mat)); ptr_mat += step);
|
||||
|
||||
return (HaveSubstringInVec(ptr_temp_mat, ptr_mat));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------
|
||||
// EX #3
|
||||
// -----
|
||||
//
|
||||
// General : The program gets a matrix of string and checks if one of the string is a
|
||||
// substring to another string
|
||||
//
|
||||
// Input : matrix of string
|
||||
//
|
||||
// Process : The program runs on a string and if he is a substring of one of the other
|
||||
// string till it is out of string to check
|
||||
//
|
||||
// Output : True or False
|
||||
//
|
||||
//---------------------------------------------------------------------------------------
|
||||
// Programmer : Cohen Idan
|
||||
// Student No : 211675038
|
||||
// Date: 19.11.2019
|
||||
//---------------------------------------------------------------------------------------
|
||||
void main(void)
|
||||
{
|
||||
typedef char string[MAX_SIZE_STRING];
|
||||
string mat[ROW][COL] = { {"hello", "world"} , { "idan", "hel"}};
|
||||
|
||||
printf("%hu\n", HaveSubstringInMat(mat));
|
||||
}
|
||||
Reference in New Issue
Block a user