Pessoal é o seguinte leiam atentamente essa questão dada pra mim:   O seguinte método para codificar despachos diplomáticos foi adotado:   primeiro etapa – todas seqüências  não  vogais incluindo o espaço em branco e os caracteres de pontuação são invertidas.  Segunda etapa – a mensagem inteiro resultante é invertida dando origem à mensagem codificada.  Por exemplo a mensagem original           PROBLEMAS  HIPER-INTERESSANTES.  Passa a ser           RPOLBEMAH  SIPE-RITNERESSATNE.S  Após a primeira etapa e finalmente é codificada como           S.ENTASSERENTIR-EPIS  HAMEBLOPR   Após a Segunda etapa.  O embaixador recebeu uma mensagem codificada como se segue:          S. ETEUQAS  RES  TRIAR  MAMPRO  CEUGENSO  CE  SE.  VENTERGU  Escreva um programa em C que ajude o embaixador a decodificar mensagens assim codificadas. Use alocação dinâmica (onde cada nó contém um caractere no campo de info), pois o embaixador não sabe  o tamanho da mensagem.   aí está o código feito por mim:    #include <stdio.h>  #include <stdlib.h>  #include <string.h>   //  // retorna != 0 se o valor passado  // e' uma vogal  //  int vogal(char c)  {   	char *v="AaEeIiOoUu";   	while(*v)  	if(*v++==c)  	return true;  	return false;   }   //  // detecta as sequencias de não-vogais  // e defaz as trocas  //  void troca(char *msg, int *i)  {   	int j, t;  	char aux;   	j=*i;  	t=0;  	while(msg[j]&&!vogal(msg[j++])) t++;   	switch(t)  	{   		case 2: // 2 não-vogais contiguas  		aux=msg[*i];  		msg[*i]=msg[*i+1];  		msg[*i+1]=aux;  		(*i)+=2;  		break;   		case 3: // 3 não-vogais contiguas  		aux=msg[*i];  		msg[*i]=msg[*i+2];  		msg[*i+2]=aux;  		(*i)+=3;  		break;   		case 4: // 4 não-vogais contiguas  		aux=msg[*i];  		msg[*i]=msg[*i+3];  		msg[*i+3]=aux;  		aux=msg[*i+1];  		msg[*i+1]=msg[*i+2];  		msg[*i+2]=aux;  		(*i)+=4;  		break;   	}   }   void main()  {   	int k, j, t;  	char aux, *msg;   	msg = (char*) malloc(80);  	 	printf("Digite a mensagem codificada:\n>> ");  	gets(msg);  	 	t=strlen(msg);   	k=0;  	j=t-1;   // reverte a string...  	while(j>k)  	{  		aux=msg[k];  		msg[k]=msg[j];  		msg[j]=aux;  		k++;  		j--;  	}   // desfaz as trocas não-vogais...  	for(k=0; k<t; k++) troca(msg, &k);   	printf("\nMensagem decodificada:\n>> %s", msg);   	free(msg);  }  Porém não encontro uma maneira de encaixar uma Struct no código alguém poderia ajudar onde iseria a Struct como pedido na questão?? e o malloc tirar aquele 80 porque se a mensagem for maior que 80 vai dar erro.. ajudem por favor