Sawy3R11

Zad 2

Apr 11th, 2016
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.97 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. char *slowa(char *tekst, char litera, int *licznik);
  5. void dlugosc(char *teskt, int*dlugosc);
  6. int main()
  7. {
  8.     char tekst[100], litera, *wyszukane;
  9.     int ilosc;
  10.  
  11.     fflush(stdin);
  12.     printf("Podaj tekst: ");
  13.     scanf("%[^\n]s", tekst);
  14.  
  15.     fflush(stdin);
  16.     printf("\nPodaj literę: ");
  17.     scanf("%c", &litera);
  18.  
  19.     wyszukane = slowa(tekst, litera, &ilosc);
  20.     printf("\nIlosc: %i\nWyszukane: %s", ilosc, wyszukane);
  21.     return 0;
  22. }
  23.  
  24. void dlugosc(char *tekst, int *dlugosc)
  25. {
  26.     (*dlugosc) = 0;
  27.     while(tekst[ (*dlugosc)++ ] != '\0' );
  28.  
  29.     (*dlugosc)--;
  30.  
  31. }
  32. char *powieksz(char *tekst, int litera, int *dlugosc){
  33.     tekst = (char*)realloc(tekst, (*dlugosc+1)*sizeof(char));
  34.     *(tekst+*dlugosc) = litera;
  35.     (*dlugosc)++;
  36.     return tekst;
  37. }
  38. char *slowa(char *tekst, char litera, int *licznik)
  39. {
  40.     int dlugoscT, i, indeks = 0;
  41.     char *tymczasowa;
  42.     (*licznik)= 0;
  43.  
  44.     tymczasowa = (char*) malloc(1*sizeof(char));
  45.     tymczasowa = NULL;
  46.     dlugosc(tekst, &dlugoscT);
  47.     printf("\nDlugosc: %i", dlugoscT );
  48.     for(i=0; i<dlugoscT; i++)
  49.     {
  50.         if(tekst[i]>='A' && tekst[i] <= 'Z')
  51.         {
  52.             (*licznik)++;
  53.             /*tymczasowa = (char*) realloc(tymczasowa, (indeks+1)*sizeof(char));
  54.             *(tymczasowa+indeks) = tekst[i];
  55.             indeks++;*/
  56.             tymczasowa = powieksz(tymczasowa, (int)tekst[i], &indeks);
  57.             i++;
  58.             while (tekst[i] >='a' && tekst[i] <= 'z' && i<dlugoscT){
  59.                 /*tymczasowa = (char*) realloc(tymczasowa, (indeks+1)*sizeof(char));
  60.                 *(tymczasowa+indeks) = tekst[i];
  61.                 indeks++;*/
  62.                 tymczasowa = powieksz(tymczasowa, (int)tekst[i], &indeks);
  63.                 i++;
  64.             }
  65.             tymczasowa = powieksz(tymczasowa, 13, &indeks);
  66.             tymczasowa = powieksz(tymczasowa, 10, &indeks);
  67.             i--;
  68.         }
  69.     }
  70.  
  71.     return tymczasowa;
  72. }
Add Comment
Please, Sign In to add comment