Advertisement
borisdexter

Stringovi

Jan 18th, 2020
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.52 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<ctype.h>
  4. // getchar() - vnesuvame bukva od input
  5. // scanf("%s",string) - zima input do prazno mesto t.e. eden zbor
  6. // gets(string) - popolnuva cel string do \n
  7. // '\0' null terminator - kraj na niza
  8.  
  9. // funkcii za stringovi *char string[50]
  10. // strlen(string) - vrakja dolzinata na string
  11. // strcmp(string1,string2) - vrakja 0 ako se isti, vrakja 1 ako string1>string2, -1 ako string1<string2
  12. // strncmp(string1,string2,n) - sporedi prvi n karakteri od stringovite
  13. // strcpy(string1,string2) - kopiraj string2 vo string1
  14. // strncpy(string1,string2,n) - kopiraj prvite n karakteri
  15. // strcat(string1,string2) - dodaj string2 na string1
  16. // strncat(string1,string2,n) - dodaj prvite n karakteri
  17.  
  18. // funkcii za karakteri *char c;
  19. // isalpha(c) - dali e bukva
  20. // islower(c) - dali e mala bukva
  21. // isupper(c) - dali e golema bukva
  22. // isdigit(c) - dali e brojka
  23. // isspace(c) - dali e space
  24. // isalnum(c) - dali e alfanumericki znak (vo prevod dali e bukva ili brojka)
  25. // tolower(c) - 'A' -> 'a' pretvora golema vo mala bukva *vrakja vrednost*
  26. // toupper(c) - 'a' -> 'A' pretvora mala vo golema bukva *vrakja vrednost*
  27.  
  28. int main(){
  29. int i,j,k,flag,pom,brojSpace=0;
  30. char string1[150];
  31. char pamtiKarakter;
  32. gets(string1);
  33. int maxDolzina=0;
  34. int n=strlen(string1);
  35. int brojac=0;
  36.  
  37.  
  38. // brojac pomegju dve cifri
  39. /*
  40. for(i=0;i<n;i++){
  41.     if(isdigit(string1[i])){
  42.         for(j=i+1;j<n;j++){
  43.             if(isdigit(string1[j])){
  44.                 if(brojac>maxDolzina){
  45.                     maxDolzina=brojac;
  46.                 }
  47.                 break;
  48.             }else{
  49.                 brojac++;
  50.             }
  51.         }
  52.         i=i+brojac;
  53.         brojac=0;
  54.     }
  55. }
  56. printf("%d\n",maxDolzina);
  57. /*
  58. int n=strlen(string1);
  59. int brojac=1;
  60. for(i=0;i<n;i++){
  61.     if(string1[i]==string1[i+1]){
  62.         brojac++;
  63.     }else{
  64.         if(brojac>maxDolzina){
  65.             maxDolzina=brojac;
  66.             pamtiKarakter=string1[i];
  67.             //printf("Karakterot %c se pojavil %d pati\n",pamtiKarakter,brojac);
  68.         }
  69.         brojac=1;
  70.     }
  71. }
  72. printf("Najvekje pojavuvanja ima %c i se %d\n",pamtiKarakter,maxDolzina);
  73.  
  74.  
  75. // naogjanje podniza
  76. /*
  77. char podniza[150];
  78. gets(podniza);
  79. int n=strlen(string1);
  80. int m=strlen(podniza);
  81. for(i=0;i<n;i++){
  82.     if(string1[i]==podniza[0]){
  83.             flag=1;
  84.         for(j=0;j<m;j++){
  85.             if(string1[j+i]!=podniza[j]){
  86.                 flag=0;
  87.                 break;
  88.             }
  89.         }
  90.         if(flag==1){
  91.             puts("Podniza e");
  92.             break;
  93.         }else{
  94.             puts("Ne e podniza");
  95.         }
  96.     }
  97. }
  98.  
  99.  
  100. // brisenje duplikati od string
  101. /*
  102. int n=strlen(string1);
  103. for(i=0;i<n;i++){
  104.     for(j=i+1;j<n;j++){
  105.         if(string1[i]==string1[j]){
  106.             for(k=j;k<n-1;k++){
  107.                 pom=string1[k];
  108.                 string1[k]=string1[k+1];
  109.                 string1[k+1]=pom;
  110.             }
  111.             n--;
  112.             j--;
  113.         }
  114.     }
  115. }
  116. string1[n]='\0';
  117. puts(string1);
  118. */
  119.  
  120. /*
  121. int flag=1;
  122. for(i=0;i<strlen(string1);i++){
  123.     if(tolower(string1[i])!=tolower(string1[strlen(string1)-1-i])){
  124.         flag=0;
  125.         break;
  126.     }
  127. }
  128. if(flag==1){
  129.     puts("Palindrom e");
  130. }else{
  131.     puts("Ne e palindrom");
  132. }
  133. puts(string1);
  134.  
  135.  
  136. // smena na znak C so *
  137. /*
  138. char c=getchar();
  139. for(i=0;i<strlen(string1);i++){
  140.     if(string1[i]==c){
  141.         string1[i]='*';
  142.     }
  143. }
  144. puts(string1);
  145. */
  146.  
  147. // brisenje space od niza
  148. /*
  149. int n=strlen(string1);
  150. for(i=0;i<n;i++){
  151.     if(isspace(string1[i])){
  152.         for(j=i;j<n-1;j++){
  153.             pom=string1[j];
  154.             string1[j]=string1[j+1];
  155.             string1[j+1]=pom;
  156.         }
  157.         i--;
  158.         n--;
  159.     }
  160. }
  161. string1[n]='\0';
  162. puts(string1);
  163.  
  164. /*
  165.    i
  166. 0123456789
  167. dvazbora\0
  168.  
  169. 012345678
  170. dvazbora
  171. */
  172.  
  173.  
  174. /*
  175. string1[0]=toupper(string1[0]);
  176. for(i=1;i<strlen(string1);i++){
  177.     string1[i]=tolower(string1[i]);
  178. }
  179. string1[strlen(string1)]='.';
  180. string1[strlen(string1)+1]='\0';
  181. puts(string1);
  182.  
  183. // bukvi vs brojki
  184. /*
  185. int brojBukvi=0;
  186. int brojBrojki=0;
  187. for(i=0;i<strlen(string1);i++){
  188.     if(isalpha(string1[i])){
  189.         brojBukvi++;
  190.     }else if(isdigit(string1[i])){
  191.         brojBrojki++;
  192.     }
  193. }
  194. printf("Brojki %d:%d Bukvi\n",brojBrojki,brojBukvi);
  195. */
  196. return 0;
  197. }
  198.  
  199.  
  200. // od mali vo golemi i obratno
  201. /*
  202. for(i=0;i<strlen(string1);i++){
  203.     if(isalpha(string1[i])){
  204.         if(isupper(string1[i])){
  205.             string1[i]=tolower(string1[i]);
  206.         }else{
  207.         string1[i]=toupper(string1[i]);
  208.         }
  209.     }
  210. }
  211. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement