Advertisement
Guest User

Untitled

a guest
Feb 25th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.09 KB | None | 0 0
  1.  
  2. #include <stdio.h>
  3. #define N 5
  4.  
  5. int main (){
  6.  
  7.     char A[N][N] = {
  8.     {'a', 'f', 'k', 'p', 'w'},
  9.     {'b', 'g', 'l', 'r', 'x'},
  10.     {'c', 'h', 'm', 's', 'y'},
  11.     {'d', 'i', 'n', 't', 'z'},
  12.     {'e', 'j', 'o', 'u', ' '},
  13.     };
  14.     char *B[15];
  15.     char *C[15];
  16.     char p[15];
  17.     int pom, pi, znak, i, j, k, m, licznik = 0;
  18.  
  19.     printf ("Autor programu: Mateusz Serwach\n\n");
  20.  
  21.     for (k = 0; k < 15; k++) { //przypisanie wartości NULL do elementów tablicy *B
  22.         B[k] = NULL;
  23.     }
  24.  
  25.     printf ("Prosze podac ciag znakow:\n\n");
  26.  
  27.     k = 0;
  28.     scanf_s("%c", &p[0]);
  29.     pi=0;
  30.     while ( p[pi]!= '\n') { //wtedy bierze dwa razy ten sam znak
  31.         for (i = 0; i < N; i++)
  32.             {
  33.             for (j = 0; j < N; j++)
  34.              {
  35.                 if (p[pi] == A[i][j])
  36.                 {
  37.                     B[k++] = &A[i][j];
  38.                     licznik++;
  39.                 }
  40.             }
  41.         }
  42.         pi++;
  43.         scanf_s("%c", &p[pi]);
  44.        
  45.     }
  46.  
  47.     printf("\nOto przepisany...\n");
  48.  
  49.     for (i = 0; i < licznik; i++) { //przepisanie tekstu podanego przez użytkownika
  50.         printf ("%c", *B[i]);
  51.     }
  52.  
  53.     printf("\n\n");
  54.  
  55.     k = 0;
  56.  
  57.     for (i = 1; i < N; i++) {  //szyfrowanie
  58.         k = i - 1;
  59.         for (j = 0; j < N; j++) {
  60.             pom = A[i][j];
  61.             A[i][j] = A[k][j];
  62.             A[k][j] = pom;
  63.         }
  64.     }
  65.  
  66.     printf ("\n...zaszyfrowany...\n");
  67.  
  68.     for (i = 0; i < licznik; i++) { //przepisanie tekstu podanego przez użytkownika
  69.         printf ("%c", *B[i]);
  70.     }
  71.  
  72.     k = 4;
  73.  
  74.     for (i = 4; i > 0; i--) { // odszyfrowanie
  75.         k = i - 1;
  76.         for (j = 0; j < N; j++) {
  77.             pom = A[i][j];
  78.             A[i][j] = A[k][j];
  79.             A[k][j] = pom;
  80.         }
  81.     }
  82.  
  83.     printf ("\n\n...oraz odszyfrowany tekst podany przez uzytkownika.\n");
  84.  
  85.     for (i = 0; i < licznik; i++) { //przepisanie odszyfrowanego tekstu podanego przez użytkownika
  86.         printf ("%c", *B[i]);
  87.     }
  88.  
  89.     i = 0;
  90.  
  91.     for (m = 0; m < 15; m++) { //wypełnienie macierzy C NULLami
  92.         C[i++] = NULL;
  93.     }
  94.  
  95.     i = licznik - 1;
  96.  
  97.     for (m = 0; m < 15; m++) { //przypisanie do macierzy C adresów z macierzy B
  98.         C[m] = B[i--];
  99.     }
  100.  
  101.     printf ("\n\nWypisanie wedlug nowego porzadku:\n");
  102.  
  103.     for (m = 0; m < licznik; m++) {  //wypisanie według nowego porządku
  104.         printf ("%c", *C[m]);
  105.     }
  106.  
  107.     printf ("\n\nKoniec programu.\n");
  108.     return 0;
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement