diff --git a/cifra_railOnSteroids.c b/cifra_railOnSteroids.c
index c8e5e34784c81129ceeeedc8ab254e26566b6cee..c75473dd29b802df0cc4d9252f38ba0dbc25fe15 100644
--- a/cifra_railOnSteroids.c
+++ b/cifra_railOnSteroids.c
@@ -47,27 +47,28 @@ int main(){
 
 
     for(int itr = 0; itr < num_chaves; itr++){
-        int mod_text_pela_chave = (tamanho_texto) % chaves_parciais[itr];
-        
-        int caracteres_p_completar =(mod_text_pela_chave > 0) ? chaves_parciais[itr]-mod_text_pela_chave : 0;
+        if(chaves_parciais[itr] != 0){
+            int mod_text_pela_chave = (tamanho_texto) % chaves_parciais[itr];
+            
+            int caracteres_p_completar =(mod_text_pela_chave > 0) ? chaves_parciais[itr]-mod_text_pela_chave : 0;
 
 
 
-    
-        for(int i=0; i<caracteres_p_completar; i++){
-            texto_cifrado[tamanho_texto+i]='=';
-        }
+        
+            for(int i=0; i<caracteres_p_completar; i++){
+                texto_cifrado[tamanho_texto+i]='=';
+            }
 
-        tamanho_texto+=caracteres_p_completar;
+            tamanho_texto+=caracteres_p_completar;
 
 
 
 
-        int caracteresporlinha = (tamanho_texto+mod_text_pela_chave)/chaves_parciais[itr];
+            int caracteresporlinha = (tamanho_texto+mod_text_pela_chave)/chaves_parciais[itr];
 
-        char matrizTransposicao[10][caracteresporlinha];
+            char matrizTransposicao[10][caracteresporlinha];
 
-        int caracter=0;
+            int caracter=0;
             for(int j=0; j<caracteresporlinha; j++){
                 for(int i=0; i < chaves_parciais[itr]; i++){
                     matrizTransposicao[i][j] = texto_cifrado[caracter];
@@ -79,12 +80,12 @@ int main(){
             for(int i=0; i < chaves_parciais[itr]; i++){
                 for(int j=0; j<caracteresporlinha; j++){
                     if(caracter < tamanho_texto){
-                        printf("%c\n", matrizTransposicao[i][j]);
                         texto_cifrado[caracter] = matrizTransposicao[i][j];
                     }
                     caracter++;
                 }
             }
+        }
     
     }
     
diff --git a/decifra_railOnSteroids.c b/decifra_railOnSteroids.c
index b915237d94f0bff3bca118c27f5fe5e14e35e8d3..5d089eaea9019988ac7424bacf675afada552cd4 100644
--- a/decifra_railOnSteroids.c
+++ b/decifra_railOnSteroids.c
@@ -47,7 +47,7 @@ int main(){
 
 
     for(int itr = 0; itr < num_chaves; itr++){
-
+        if(chaves_parciais[itr] != 0){
             int mod_text_pela_chave = (tamanho_texto) % chaves_parciais[itr];
         
             int caracteres_p_completar =(mod_text_pela_chave > 0) ? chaves_parciais[itr]-mod_text_pela_chave : 0;
@@ -59,11 +59,11 @@ int main(){
             tamanho_texto+=caracteres_p_completar; 
 
 
-        int caracteresporlinha = (tamanho_texto)/chaves_parciais[itr];
+            int caracteresporlinha = (tamanho_texto)/chaves_parciais[itr];
 
-        char matrizTransposicao[10][caracteresporlinha];
+            char matrizTransposicao[10][caracteresporlinha];
 
-        int caracter=0;
+            int caracter=0;
             for(int i=0; i < chaves_parciais[itr]; i++){
                 for(int j=0; j<caracteresporlinha; j++){
                     matrizTransposicao[i][j] = texto_cifrado[caracter];
@@ -75,7 +75,6 @@ int main(){
             for(int j=0; j<caracteresporlinha; j++){
                 for(int i=0; i < chaves_parciais[itr]; i++){
                     if(caracter < tamanho_texto){
-                        printf("%c\n", matrizTransposicao[i][j]);
                         texto_cifrado[caracter] = matrizTransposicao[i][j];
                     }
                     caracter++;
@@ -86,7 +85,7 @@ int main(){
                 tamanho_texto--;
             }
 
-            
+        }    
     }