Advertisement
youuw

zad3.c

Dec 20th, 2021
966
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.49 KB | None | 0 0
  1. /*
  2.  
  3. Zadanie 3. 2. Napisz program wypisujaay wprowadzony z klawiatury tekst jako rozstrzelony
  4. w nastepujacy sposób:
  5. ∗ 1 znak + 1 spacja
  6. ∗ 1 znak + 1 spacja (tekst czytany od tyªu)
  7. ∗ 2 znaki + 1 spacja
  8. ∗ 3 znaki + 2 spacje (tekst czytany od tyªu)
  9.  
  10. */
  11.  
  12. #include <stdio.h>
  13. #include <string.h>
  14.  
  15. const int MAX_SIZE = 200;
  16.  
  17. int main() {
  18.  
  19.     char in[MAX_SIZE], inRev[MAX_SIZE];
  20.     printf("wprowadz tekst (max 200 znakow): ");
  21.     scanf("%[^\n]s", &in); // przejscie do nowej linii (\n - enter) oznacza koniec bufora wejsciowegp
  22.  
  23.     strcpy(inRev, in); // przypisanie wartosci ciagu in do ciagu inRev
  24.     strrev(inRev); // odwrocenie ciagu inRev
  25.     if(inRev[strlen(inRev)-1]==' ') inRev[strlen(inRev)-1]='\0'; // jesli pierwszy znak to spacja, usun go
  26.  
  27.     printf("\n");
  28.  
  29.     printf("Rozstrzelenie 1 znak + 1 spacja: \n");
  30.     char first[MAX_SIZE*2]; // spacja co jeden znak czyli 1:1, stad MAX_SIZE + 1/1 * MAX_SIZE co jest rownowazne do MAX_SIZE*2
  31.     int inIndex = 0;
  32.     for(int x = 0; x<sizeof(first); x++) {
  33.         if(x%2==0) {
  34.             first[x] = in[inIndex];
  35.             inIndex++;
  36.         } else first[x] = ' ';
  37.     }
  38.     printf("%s\n", first);
  39.  
  40.     printf("\n");
  41.  
  42.     printf("Rozstrzelenie 1 znak + 1 spacja (od tylu): \n");
  43.     char second[MAX_SIZE*2];
  44.     inIndex = 0;
  45.     for(int x = 0; x<sizeof(second); x++) {
  46.         if(x%2==0) {
  47.             second[x] = inRev[inIndex];
  48.             inIndex++;
  49.         } else second[x] = ' ';
  50.     }
  51.    
  52.     printf("%s\n", second);
  53.  
  54.     printf("\n");
  55.  
  56.     printf("Rozstrzelenie 2 znaki + 1 spacja: \n");
  57.     char third[(int)(MAX_SIZE*1.5)]; // spacja co dwa znaki czyli 1:2, stad MAX_SIZE + 1/2 * MAX_SIZE co jest rownowazne do MAX_SIZE*1.5
  58.     inIndex = 0;
  59.     int iterIndex = 0;
  60.     for(int x = 0; x<sizeof(third); x++) {
  61.         if(iterIndex<2) {
  62.             third[x] = in[inIndex];
  63.             inIndex++;
  64.             iterIndex++;
  65.         } else {
  66.             third[x] = ' ';
  67.             iterIndex=0;
  68.         }
  69.     }
  70.     printf("%s\n", third);
  71.  
  72.     printf("\n");
  73.  
  74.     printf("Rozstrzelenie 2 znaki + 1 spacja (od tylu): \n");
  75.     char fourth[(int)(MAX_SIZE*1.5)];
  76.     inIndex = 0;
  77.     iterIndex = 0;
  78.     for(int x = 0; x<sizeof(fourth); x++) {
  79.         if(iterIndex<2) {
  80.             fourth[x] = inRev[inIndex];
  81.             inIndex++;
  82.             iterIndex++;
  83.         } else {
  84.             fourth[x] = ' ';
  85.             iterIndex=0;
  86.         }
  87.     }
  88.     printf("%s\n", fourth);
  89.    
  90.  
  91.     return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement