Advertisement
Chris2o2

Цезар

Dec 5th, 2022
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.85 KB | None | 0 0
  1. /*
  2. Од стаднарден влез се читаат N низи од знаци (стрингови) не подолги од 80 знаци. На почетокот на програмата се читаат два цели броеви:
  3. N - бројот на низи од знаци кои ќе се читаат и
  4. X - поместување.
  5. Секоја од вчитаните низи од знаци треба да се трансформира на тој начин што секоја од малите и големите букви (a-z, A-Z) се заменува со истата буква поместена X места понапред во азбуката (a-z). Ако се надмине опсегот на буквите во азбуката, се продолжува циклично од почетокот на азбуката. Трансформираната низа да се отпечати на СИ.
  6. Трансформацијата да се имплементира со посебна рекурзивна функција.
  7.  
  8. Пример:
  9. Welcome -> трансформирано со поместување 5 -> Bjqhtrj
  10. */
  11.  
  12. #include <stdio.h>
  13. #include <ctype.h>
  14. #define MAX 100
  15. void rek(char *niza,int pom){
  16.  
  17.     if (*niza){
  18.        
  19.         char c;
  20.         char x;
  21.        
  22.         if (isalpha(*niza)){
  23.        
  24.             if (isupper(*niza)){
  25.                 x='A';
  26.             }
  27.             else{
  28.                 x='a';
  29.             }
  30.             *(niza) = (*(niza)-x+pom)%26 +x;
  31.            
  32.         }
  33.    
  34.     rek (niza+1,pom);
  35.    
  36.     }
  37. }
  38.  
  39.  
  40.  
  41. int main(){
  42.  
  43.     char niza[MAX];
  44.     char c;
  45.     int n,x,i,j;
  46.    
  47.     scanf("%d %d",&n,&x);
  48.     getchar();
  49.     for (i=0;i<n;i++){
  50.         fgets (niza,80,stdin);
  51.         rek(niza,x);
  52.         printf("%s",niza);
  53.     }    
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement