Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- //funkciq zadacha 1
- int strSize(const char* str){
- int counter = 0;
- while(*str != '\0'){
- counter++;
- str++;
- }
- return counter;
- }
- //funkciq zadacha 2
- int strCompare(const char* str1, const char* str2){
- while(*str1){
- if(*str1 != *str2){
- break;
- }
- str1++;
- str2++;
- }
- return (*str1 - *str2);
- }
- //funkciq zadacha 3
- void strCopy(char* destination, const char* source){
- char* p = destination;
- while(*source != '\0'){
- *p = *source;
- p++;
- source++;
- }
- p = '\0';
- }
- //funkciq zadacha 4
- char* strConcatenate(char* destination, const char* source){
- char* str1End = destination + strSize(destination);
- while (*source != '\0') {
- *str1End++ = *source++;
- }
- *str1End = '\0';
- return destination;
- }
- //funkciq zadacha 5
- 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'){
- state = 1; //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;
- }
- //funkciq zadacha 6
- 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'){
- state = 1; //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(){
- //zadacha 1
- /*
- char str[50];
- printf("Enter string: ");
- gets(str);
- printf("Your string size is: %d", strSize(str));
- */
- //zadacha 2
- /*
- char str[50];
- char str2[50];
- printf("Enter first string: ");
- gets(str);
- printf("Enter second string: ");
- gets(str2);
- printf("String compare: %d", strCompare(str, str2));
- */
- //zadacha 3
- /*
- char str[50];
- char str2[50];
- printf("Enter first string: ");
- gets(str);
- strCopy(str2, str);
- printf("String 2 is: %s", str2);
- */
- //zadacha 4
- /*
- char str1[50];
- printf("Enter string: ");
- gets(str1);
- char str2[50];
- printf("Enter string: ");
- gets(str2);
- printf("Your concatenated strings: %s", strConcatenate(str1, str2));
- */
- //zadacha 5
- /*
- char str1[50];
- printf("Enter string: ");
- gets(str1);
- printf("Contains nano: %s\n", cointainsNano(str1) ? "yes" : "no");
- */
- //zadacha 6
- /*
- char str1[50];
- printf("Enter string: ");
- gets(str1);
- printf("Count nano: %d\n", countNano(str1));
- */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement