Advertisement
Solomid

Untitled

Dec 24th, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.34 KB | None | 0 0
  1. 2.
  2.  
  3. #include <stdio.h>
  4.  
  5. void unesi(char niz[], int velicina) {
  6.     char znak = getchar();
  7.     if (znak == '\n') znak = getchar();
  8.     int i = 0;
  9.     while(i < velicina - 1 && znak != '\n') {
  10.         niz[i] = znak;
  11.         i++;
  12.         znak = getchar();
  13.     }
  14.     niz[i]='\0';
  15. }
  16.  
  17. char* rot13(char *s){
  18.     char* p = s;
  19.     while(*s != '\0'){
  20.         if((*s >= 'a' && *s <= 'z')||(*s >= 'A' && *s <= 'Z')){
  21.             if(*s >= 'a' && *s <= 'z'){
  22.                 if(*s >= 'a' && *s <= 'm'){
  23.                     *s = *s + 13;
  24.                 }
  25.                 else *s = *s - 13;
  26.             }
  27.             else{
  28.                 if(*s >= 'A' && *s <= 'M'){
  29.                     *s = *s + 13;
  30.                 }
  31.                 else *s = *s - 13;
  32.             }
  33.         }
  34.         s++;
  35.     }
  36.     return p;
  37. }
  38.  
  39. int main() {
  40.     char tekst[100];
  41.     printf("Unesite tekst: ");
  42.     unesi(tekst,100);
  43.     printf("(De)Sifrovani tekst: %s", rot13(tekst));
  44.     return 0;
  45. }
  46.  
  47.  
  48. 3.
  49.  
  50. #include <stdio.h>
  51. #include <string.h>
  52.  
  53. char* izbaci_rijec(char* s, int n)
  54. {
  55.     char *p = s, *q;
  56.     int razmak = 1, broj_rijeci = 0;
  57.     while(*s != '\0') {
  58.         if(!(*s >= 'a' && *s <= 'z')||(*s >= 'A' && *s <= 'Z')) {
  59.             razmak = 1;
  60.         } else if(razmak == 1) {
  61.             broj_rijeci++;
  62.             if(broj_rijeci == n) {
  63.                 q = s;
  64.                 while((*q >= 'a' && *q <= 'z')||(*q >= 'A' && *q <= 'Z'))
  65.                     q++;
  66.                 if(*q == '\0') {
  67.                     *s = *q;
  68.                     return p;
  69.                 }
  70.                 while(*s != '\0') {
  71.                     *s = *q;
  72.                     if(*s == '\0') break;
  73.                     s++;
  74.                     q++;
  75.                 }
  76.                 return p;
  77.             }
  78.             razmak = 0;
  79.         }
  80.         s++;
  81.     }
  82.     return p;
  83. }
  84.  
  85. int main()
  86. {
  87.     printf("Tutorijal 10, Zadatak 3");
  88.     return 0;
  89. }
  90.  
  91. 4.
  92.  
  93. #include <stdio.h>
  94. #include <string.h>
  95.  
  96. char* whitespace(char* s)
  97. {
  98.     char *p = s, *pocetak = s;
  99.     char *pom1, *pom2;
  100.  
  101.     while(*s != '\0') {
  102.         if(*s == '\n' || *s == '\t')
  103.             *s = ' ';
  104.         s++;
  105.     }
  106.    
  107.     while(*p != '\0') {        
  108.         if(*p == ' ') {
  109.             if(p != pocetak && *(p-1) != ' ' && *(p+1) != '\0'){
  110.                 p++;   
  111.             }
  112.            
  113.             pom1 = p;  //za brisanje razmaka
  114.             pom2 = p; // za vracanje pokazivaca nakon brisanja
  115.            
  116.             while(*pom1 == ' ') {
  117.                 pom1++;
  118.             }
  119.            
  120.             if(*pom1 == '\0') { // uslov za kraj stringa
  121.                 if(p != pocetak) p--;
  122.                 *p = *pom1;
  123.                 break;
  124.             }
  125.            
  126.             while(*p != '\0') {
  127.                 *p = *pom1;
  128.                 if(*p == '\0') break;
  129.                 p++;
  130.                 pom1++;
  131.             }
  132.             p = pom2;
  133.             p--; // da ne preskoci nijedan znak
  134.         }
  135.         p++;
  136.     }
  137.     return pocetak;
  138. }
  139.  
  140.  
  141. int main()
  142. {
  143.     char tekst[] = "Druga\nrecenica\t\n\t";
  144.     printf("'%s'", whitespace(tekst));
  145.     return 0;
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement