Untitled

From Straton, 7 Years ago, written in C, viewed 721 times.
URL https://paste.godclan.hu/view/68H7mtGg Embed
Download Paste or View Raw
  1. #include <stdio.h>
  2. #define M 201
  3.  
  4. int hossz(char c[]){
  5.         int i;
  6.         for(i = 0; c[i]!= '\0'; i++);
  7.        
  8.         return i;
  9. }
  10.  
  11.  
  12.  
  13.  
  14.  
  15. int main(){
  16.         int tipus;
  17.         int oszlopsz;
  18.         char bes[M];
  19.         char kis[M];
  20.         int i, j, l;
  21.        
  22.        
  23.        
  24.        
  25.        
  26.         //beolvas
  27.         FILE *be = fopen("be.txt","r");
  28.         fscanf(be,"%d %d", &tipus, &oszlopsz);
  29.         int kulcs[oszlopsz];
  30.         for(i = 0; i < oszlopsz; i++ ){
  31.                
  32.                 fscanf(be,"%d", &kulcs[i]);
  33.                
  34.         }
  35.         fscanf(be, "%s", bes);
  36.         fclose(be);
  37.        
  38.         //sor
  39.         int h = hossz(bes);
  40.         int sor = h / oszlopsz;
  41.        
  42.         char s[sor][oszlopsz];
  43.         //kodolas
  44.         if(tipus == 1){
  45.                 int k = 0;
  46.                
  47.                 for(i = 0; i < sor; i++){
  48.                         for(j = 0; j < oszlopsz; j++){
  49.                                        
  50.                                         s[i][j] = bes[k];
  51.                                         k++;
  52.                                
  53.                         }
  54.                 }
  55.                
  56.                 k = 0;
  57.                
  58.                 for(i = 0; i < oszlopsz; i++){
  59.                         for(j = 1; j <= oszlopsz; j++){
  60.                                 if(kulcs[i] == j){
  61.                                         for(l = 0; l < sor; l++){
  62.                                                
  63.                                                 kis[k] = s[l][j-1]; //j-1 mert 0-6 ig van elem
  64.                                                         k++;
  65.                                                
  66.                                         }
  67.                                 }
  68.                                
  69.                                
  70.                                
  71.                         }
  72.                        
  73.                        
  74.                 }
  75.                
  76.                
  77.                
  78.         }else{ //dekodolas
  79.                         int k = 0;
  80.                        
  81.                         for(i = 0; i < oszlopsz; i++){
  82.                                 for(j = 1; j<=oszlopsz; j++){
  83.                                         if(kulcs[i] == j){
  84.                                                 for(l = 0; l < sor; l++){
  85.                                                        
  86.                                                         s[l][j-1] = bes[k];
  87.                                                         k++;
  88.                                                        
  89.                                                 }
  90.                                         }
  91.                                        
  92.                                        
  93.                                 }
  94.                         }
  95.                        
  96.                         k = 0;
  97.                         for(i = 0; i < sor; i++){
  98.                                 for(j = 0; j < oszlopsz; j++){
  99.                                         kis[k] = s[i][j];
  100.                                         k++;
  101.                                        
  102.                                 }
  103.                                
  104.                                
  105.                         }
  106.                        
  107.                        
  108.                
  109.                
  110.                
  111.         }
  112.        
  113.        
  114.        
  115.         //kiiras fajlba
  116.        
  117.        
  118.         FILE *ki = fopen("ki.txt","w");
  119.         for(i=0; i<h; i++){
  120.                         fprintf(ki,"%c",kis[i]);
  121.                 }
  122.         fprintf(ki,"\n");
  123.         fclose(ki);
  124.        
  125.  
  126.  
  127.         return 0;
  128. }

Reply to "Untitled"

Here you can reply to the paste above