Advertisement
alvsjo

OsmiCas (Stringovi nastavak)

Nov 19th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.90 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "string.h"
  4. void  kopiraj(char* str1,char* str2)
  5. {
  6. if (str2[0]=='\0')
  7.     {
  8.     *str1=*str2; //        str1[0]=='\0';
  9.  
  10.         return;
  11.     }
  12. else
  13.     {
  14.      *str1=*str2; // str1[0]=str2[0]
  15.     kopiraj(str1+1,str2+1);
  16.     }
  17.  
  18. }
  19.  
  20. int palindrom(char* str)
  21. {
  22.     int n=strlen(str);
  23.     int i=0;
  24.     int j=n-1;
  25.     while(i<j)
  26.     {
  27.         if(str[i]!=str[j])
  28.         {
  29.             return 0;
  30.         }
  31.         i++;
  32.         j--;
  33.     }
  34.     return 1;
  35. }
  36.  
  37. int palindromREK(char* str,int len)
  38. {
  39.     if(len<=1)
  40.     {
  41.         return 1;
  42.     }
  43.     if (str[0]!=str[len-1])
  44.         return 0;
  45.     else
  46.         return palindromREK(str+1,len-2);
  47. }
  48.  
  49. char* sadrzi(char* str,char a)
  50. {
  51.     int i=0;
  52.     while (str[i]!='\0')
  53.     {
  54.         if(str[i]==a)
  55.         {
  56.             return str+i; //return &str[i]
  57.         }
  58.         i++;
  59.     }
  60.     return NULL;
  61. }
  62.  
  63. char* sadrziREK(char* str,char a)
  64. {
  65.     if(str[0]=='\0')
  66.         return NULL;
  67.     if(str[0]==a)
  68.         return str;
  69.     return sadrziREK(str+1,a);
  70. }
  71.  
  72. void reverseREK(char* str)
  73. {
  74.     if(str[0]=='\0')
  75.         return;
  76.  
  77.     reverseREK(str+1);
  78.     putchar(str[0]); //    putchar(*str);
  79. }
  80.  
  81.  
  82.  
  83. int main()
  84. {
  85. char* s1=malloc(100*sizeof(char));
  86. char* s2="zasto kopiras?";
  87. kopiraj(s1,s2);
  88. puts(s1);
  89.  
  90. char s5[100];
  91. char s6[100]="koja je opsjednutost pmf-om?";
  92. strcpy(s5,s6);
  93. puts(s5);
  94.  
  95.  
  96. char s7[100]="neeeeeeeeeeeerd.";
  97. strncpy(s5,s7,5);
  98. puts(s5);
  99.  
  100. //char s8[100]="neka je sadrzaj..."
  101. /*char s8[100];
  102. gets(s8);
  103. char s9[100];
  104. gets(s9);
  105. strcat(s8,s9);
  106. puts(s8);
  107. strncat(s8,s7,6);
  108. puts(s8);
  109. */
  110. char s10[100]="anavana";
  111. printf("%d\n",palindromREK(s10,strlen(s10)));
  112.  
  113. puts(sadrziREK(s10,'n'));
  114. puts(sadrziREK(s10,'j'));
  115.  
  116.  
  117. puts(strchr(s10,'n'));
  118. puts(strrchr(s10,'n'));
  119.  
  120. reverseREK(s7);
  121. char* temp=strstr(s10,"van");
  122. printf("\n%p\n",temp);
  123. puts(temp);
  124.     return 0;
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement