Advertisement
Mixilino

podstring samoglasnika na zajeban nacin

Apr 20th, 2019
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.19 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. void postojeCifre(char str[]);
  4. void noviStringOdCifri(char str1[], char str2[]);
  5. // OVE DVE FUNKCIJE SU TI BITNE SAMO
  6. int daLiJeSamoglasnik(char str) {
  7.  
  8.     char samoglasnici[11] = "aeiouAEIOU";
  9.     for (int i = 0; i < 10; i++)
  10.     {
  11.         if (str == samoglasnici[i]) {
  12.             return 1;
  13.         }
  14.     }
  15.     return 0;
  16. }
  17. void najkraciPodstringSamoglasnika(char str1[], char str2[]);
  18.  
  19. int main(void) {
  20.     printf("Igranje sa stringovima:\n");
  21.     char str1[25] = "12 fg aa bvcf ssd ae";
  22.     char str2[25];
  23.     najkraciPodstringSamoglasnika(str1, str2);
  24.     printf("Novi string \"%s\" koji je podstring samoglasnika  od stringa \"%s\"\n\n", str2, str1);
  25.  
  26.  
  27.  
  28.     return 0;
  29. }
  30. void postojeCifre(char str[])
  31. {
  32.     int temp = 0;
  33.     int i = 0;
  34.     while (str[i] != '\0') {
  35.         if (str[i] >= '0' && str[i] <= '9') {
  36.             temp = 1;
  37.         }
  38.         i++;
  39.     }
  40.     temp ? printf("U stringu \"%s\" postoje cifre\n", str) : printf("U stringu \"%s\" NE postoje cifre\n", str);
  41. }
  42.  
  43. void noviStringOdCifri(char str1[], char str2[])
  44. {
  45.     int brojac = 0;
  46.     int i = 0;
  47.     while (str1[i] != '\0') {
  48.         if (str1[i] >= '0' && str1[i] <= '9') {
  49.             str2[brojac++] = str1[i];
  50.         }
  51.         i++;
  52.     }
  53.     str2[brojac] = '\0';
  54. }
  55.  
  56. void najkraciPodstringSamoglasnika(char str1[], char str2[])
  57. {
  58.     // Najkraci podstring samoglasnika u stringu str1
  59.     int i=0;
  60.     int pocetniIndex, velicinaPrava = 0, velicinaPotencijalna, potencijalniIndex;
  61.     int temp = 0;
  62.     while (str1[i] != '\0') {
  63.         if (temp == 0 && daLiJeSamoglasnik(str1[i])) {
  64.             temp++;
  65.             potencijalniIndex = i;
  66.             velicinaPotencijalna = 1;
  67.         }
  68.         else if (temp && daLiJeSamoglasnik(str1[i]) && velicinaPotencijalna > 0) {
  69.             velicinaPotencijalna++;
  70.         }
  71.         else if (temp && daLiJeSamoglasnik(str1[i]) && velicinaPotencijalna == 0) {
  72.             potencijalniIndex = i;
  73.             velicinaPotencijalna = 1;
  74.         }
  75.         else if (temp && !(daLiJeSamoglasnik(str1[i])) && velicinaPotencijalna > 0) {
  76.             if (velicinaPotencijalna > velicinaPrava) {
  77.                 velicinaPrava = velicinaPotencijalna;
  78.                 pocetniIndex = potencijalniIndex;
  79.                 velicinaPotencijalna = 0;
  80.             }
  81.         }
  82.         i++;
  83.     }
  84.     for (int i = pocetniIndex; i < velicinaPrava + pocetniIndex; i++)
  85.     {
  86.         str2[i - pocetniIndex] = str1[i];
  87.     }
  88.     str2[velicinaPrava] = '\0';
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement