[ Foro de C ]

Consulta

09-Nov-2021 00:12
Invitado (Alfredo)
0 Respuestas

necesito pasa un codigo c a python

include<stdio.h>
include<string.h>

let isVowel(char ,ch);

int main(){
   char encryptedMsg[100];
   int n = 0;
   fgets(encryptedMsg, sizeof(encryptedMsg), stdin); //Read Encrypted Message
   n = strlen(encryptedMsg);
   encryptedMsg[n - 1] = '\0';
   char originalMsg[n];
   //Convert X'' to X'
   int left = 0, right = n - 2;
   for(int i = 0; i < n - 1; i++){
       if(i % 2 == 0){
           originalMsg[left++] = encryptedMsg[i];
       }
       else{
           originalMsg[right--] = encryptedMsg[i];
       }
   }
   originalMsg[n - 1] = '\0';

   //puts(originalMsg); //Print the X'

   //Convert X' to X'
   int substringSize = 0;
   for(int i = 0; i < n ; i++){
       //if is a vowel or is the end of the string reverse the subrting between vowels
       if(isVowel(originalMsg[i]) || originalMsg[i] == '\0'){
          int left = i - substringSize;
          int right = i - 1;
          char aux;
          while(left < right){
              aux = originalMsg[left];
              originalMsg[left++] = originalMsg[right];
              originalMsg[right--] = aux;
          }
          substringSize = 0;  
      }
       else
           substringSize++;
   }

   originalMsg[n - 1] = '\0';
   //puts(originalMsg);
   printf("%s => %s\n", encryptedMsg, originalMsg);

   return 0;
}

int isVowel(char ch){
   switch (ch)
   {
   case 'a':
   case 'e':
   case 'i':
   case 'o':
   case 'u':
   case 'A':
   case 'E':
   case 'I':
   case 'O':
   case 'U':
       return 1;
   default:
       return 0;
   }
}




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)