Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- //zad1//
- int strLength(strArr)
- {
- printf("%d\n", strlen(strArr));
- return 0;
- }
- int main()
- {
- char strArr[10];
- gets(strArr);
- strLength(strArr);
- return 0;
- }
- -------------------------------------------
- //zad2//
- int strComp(char* str1,char* str2)
- {
- if(strlen(str1) != strlen(str2))
- {
- return (*str1 - *str2) > 0 ? 1 : -1;
- }
- while(*str1)
- {
- if(*str1 != *str2)
- {
- return (*str1 - *str2) > 0 ? 1 : -1;
- }
- str1++;
- str2++;
- }
- return 0;
- }
- int main ()
- {
- char str1[25];
- char str2[25];
- gets(str1);
- gets(str2);
- printf("%d", strComp(str1, str2));
- return 0;
- }
- -------------------------------------------------
- //zad3//
- void strCopy(char* str1, const char* str2)
- {
- char* p = str1;
- while(*str2)
- {
- *p = *str2;
- p++;
- str2++;
- }
- p = '\0';
- }
- int main ()
- {
- char str1[22];
- char str2[22];
- gets(str1);
- strCopy(str2, str1);
- printf("%s", str2);
- }
- ------------------------------------------------
- //zad4//
- char* strConcatenate(char* destination, const char* source){
- char* str1End = destination + strSize(destination);
- while (*source != '\0') {
- *str1End++ = *source++;
- }
- *str1End = '\0';
- return destination;
- }
- int main ()
- {
- char str1[22];
- printf("Enter string: ");
- gets(str1);
- char str2[22];
- printf("Enter string: ");
- gets(str2);
- printf("Your concatenated strings: %s", strConcatenate(str1, str2));
- return 0;
- }
- -----------------------------------------
- //ZAD 5 AND 6//
- #include <stdio.h>
- #include <string.h>
- int strsize(const char* str)
- {
- int cnt = 0;
- while (*str)
- {
- cnt++;
- str++;
- }
- return cnt;
- }
- void strcopy(char* destination, const char* source)
- {
- char* p = destination;
- while (*source)
- {
- *p = *source;
- p++;
- source++;
- }
- p = '\0';
- }
- int strcompare(const char* str1, const char* str2)
- {
- while (*str1)
- {
- if (*str1 != *str2)
- {
- break;
- }
- str1++;
- str2++;
- }
- return *str1 - *str2;
- }
- int cointainsNano(const char* str)
- {
- int state = 0; // empty
- while (*str)
- {
- if (state == 0)
- {
- if (*str == 'n')
- {
- state = 1; // n
- }
- }
- else if (state == 1)
- {
- if (*str == 'a')
- {
- state = 2; // na
- }
- else if (*str == 'n')
- {
- // same state
- }
- else
- {
- state = 0; // empty
- }
- }
- else if (state == 2)
- {
- if (*str == 'n')
- {
- state = 3; // nan
- }
- else
- {
- state = 0; // empty
- }
- }
- else if (state == 3)
- {
- if (*str == 'o')
- {
- state = 4;
- return 1;
- }
- else if (*str == 'n')
- {
- state = 1; // n
- }
- else if (*str == 'a')
- {
- state = 2; // na
- }
- else
- {
- state = 0; // empty
- }
- }
- str++;
- }
- return 0;
- }
- int countNano(const char* str)
- {
- int cnt = 0;
- int state = 0; // empty
- while (*str)
- {
- if (state == 0)
- {
- if (*str == 'n')
- {
- state = 1; // n
- }
- }
- else if (state == 1)
- {
- if (*str == 'a')
- {
- state = 2; // na
- }
- else if (*str == 'n')
- {
- // same state
- }
- else
- {
- state = 0; // empty
- }
- }
- else if (state == 2)
- {
- if (*str == 'n')
- {
- state = 3; // nan
- }
- else
- {
- state = 0; // empty
- }
- }
- else if (state == 3)
- {
- if (*str == 'o')
- {
- state = 4;
- cnt++;
- }
- else if (*str == 'n')
- {
- state = 1; // n
- }
- else if (*str == 'a')
- {
- state = 2; // na
- }
- else
- {
- state = 0; // empty
- }
- }
- else if (state == 4)
- {
- if (*str == 'n')
- {
- state = 1; // n
- }
- else
- {
- state = 0; // empty
- }
- }
- str++;
- }
- return cnt;
- }
- int main()
- {
- char str1[50];
- printf("Enter first string: ");
- gets(str1);
- printf("Contains nano: %s\n", cointainsNano(str1) ? "yes" : "no");
- printf("Count nano: %d\n", countNano(str1));
- return 0;
- }
Add Comment
Please, Sign In to add comment