Advertisement
kraxor

Untitled

Nov 23rd, 2011
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.61 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5.  
  6. int main()
  7. {
  8.  
  9.     FILE *r = fopen("be.txt", "r");
  10.     FILE *w = fopen("ki.txt", "w");
  11.  
  12.     int a = 0, b = 0, s = 0, sor = 0;
  13.     int i = 0, j = 0, o = 0, l = 0; //--------- LÉPTETÉSRE HASZNÁLT
  14.     char code[100];
  15.     char coded[100];
  16.  
  17. //----------------------------- BEOLVASÁS, TÖMBFELTÖLTÉS ÉS KIÍRTÁS
  18.     for (i = 0; i < 100; i++)
  19.         code[i] = 0;
  20.  
  21.     fscanf(r, "%d %d%*[^n]", &a, &b);
  22.         fgetc(r);
  23.  
  24.     int arr[b];
  25.  
  26.     for (i = 0; i < b; i++)
  27.         fscanf(r, "%d", &arr[i]);
  28.  
  29.     for (i = 0; i < b; i++)
  30.         fscanf(r, "%s", code);
  31.  
  32.  
  33.     for (i = 0; i < 100; i++)
  34.         if (code[i] != 0)
  35.  
  36.     s++;
  37.     if (b == 0) {
  38.         return 1;
  39.     }
  40.  
  41.     sor = (s / b);
  42.     char **table;
  43.     table = (char **) malloc(sor * sizeof(char *));
  44.     for (i = 0; i < sor; i++)
  45.         table[i] = (char *) malloc(b * sizeof(char));
  46.  
  47.     for (i = 0; i < sor; i++) {
  48.         for (j = 0; j < b; j++) {
  49.             table[i][j] = code[l];
  50.             l++;
  51.         }
  52.     }
  53.  
  54. //*****************************
  55.  
  56.  
  57. // ---------------------------- DEKÓDOLÁS
  58.     if (a == 1) {
  59.         for (i = 0; i < b; i++) {
  60.             for (j = 0; j < sor; j++) {
  61.                 coded[o] = table[j][arr[i] - 1];
  62.                 o++;
  63.             }
  64.         }
  65.         fprintf(w, "%sn", coded);
  66.     }
  67. //----------------------------DEKÓDOLÁS
  68.     if (a == 2) {
  69.         for (i = 0; i < b; i++) {
  70.             for (j = 0; j < sor; j++) {
  71.                 table[j][arr[i] - 1] = code[o];
  72.                 o++;
  73.             }
  74.         }
  75.         o = 0;
  76.         for (i = 0; i < sor; i++) {
  77.             for (j = 0; j < b; j++) {
  78.                 coded[o] = table[i][j];
  79.                 o++;
  80.             }
  81.         }
  82.         fprintf(w, "%sn", coded);
  83.     }
  84.  
  85.     for (i = 0; i < sor; i++)
  86.         free(table[i]);
  87.     free(table);
  88.  
  89.     fclose(r);
  90.     fclose(w);
  91.     return 0;
  92. }
  93.  
  94.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement