Advertisement
sellmmaahh

Stringovi-Funkcije

Aug 25th, 2015
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.37 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void input(char *string)
  5. {
  6.     char c;
  7.  
  8.     while(c = getchar(), c != '\n')
  9.         *(string++) = c;
  10.  
  11.     *string = '\0';
  12. }
  13.  
  14. int length(char *string)
  15. {
  16.     int len = 0;
  17.     while(*(string++) != '\0') len++;
  18.  
  19.     return len;
  20. }
  21.  
  22. int compare(char *string1, char *string2)
  23. {
  24.     if(length(string1) != length(string2)) return 0;
  25.  
  26.     while(*(string1) != '\0')
  27.     {
  28.         if(*(string1++)!= *(string2++)) return 0;
  29.     }
  30.  
  31.     return 1;
  32. }
  33.  
  34. void cut(char *string, int indeks, int len)
  35. {
  36.     int i;
  37.  
  38.     for(i = indeks; i <= length(string) - len; i++)
  39.     {
  40.         string[i] = string[i + len];
  41.     }
  42.  
  43. }
  44.  
  45. void insert(char *string, char *word, int indeks)
  46. {
  47.     int i;
  48.     for(i = length(string) + length(word); i >= indeks + length(word); i--)
  49.     {
  50.         string[i] = string[i - length(word)];
  51.     }
  52.  
  53.     for(i = 0; i < length(word); i++)
  54.     {
  55.         string[i + indeks] = word[i];
  56.     }
  57. }
  58.  
  59. int rastavi(char *string)
  60. {
  61.     int i, count = 0;
  62.  
  63.     for(i = 0; i < length(string); i++)
  64.     {
  65.         if(string[i] != ' ')
  66.         {
  67.             //pocetak rijeci
  68.             count++;
  69.             while(i < length(string) && string[i] != ' ')
  70.             {
  71.                 printf("%c", string[i]);
  72.                 i++;
  73.             }
  74.             printf("\n");
  75.             //kraj rijeci
  76.         }
  77.     }
  78.  
  79.     return count;
  80. }
  81.  
  82. int toNum(char *string)
  83. {
  84.     int i, num = 0, k = 1;
  85.  
  86.     for(i = length(string) - 1; i >= 0; i--)
  87.     {
  88.         num += (string[i] - '0') * k;
  89.         k *= 10;
  90.     }
  91.  
  92.     return num;
  93. }
  94.  
  95. int find(char *string, char *word)
  96. {
  97.     int i, j;
  98.     int ima;
  99.  
  100.     for(i = 0; i < length(string) - length(word); i++)
  101.     {
  102.         ima = 1;
  103.         for(j = 0; j < length(word); j++)
  104.         {
  105.             if(string[i + j] != word[j])
  106.             {
  107.                 ima = 0;
  108.                 break;
  109.             }
  110.         }
  111.  
  112.         if(ima) return i;
  113.     }
  114.  
  115.     return -1;
  116. }
  117.  
  118. void concate(char *string1, char *string2)
  119. {
  120.     int i;
  121.  
  122.     for(i = 0; i <= length(string2); i++)
  123.         string1[i + length(string1)] = string2[i];
  124. }
  125.  
  126. int main()
  127. {
  128.     char string[100];
  129.     char word[20];
  130.  
  131.     input(string);
  132.     printf("%s\n", string);
  133.     printf("len: %d\n", length(string));
  134.     input(word);
  135.  
  136.     printf("indeks: %d\n", find(string, word));
  137.  
  138.     return 0;
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement