apollw

codificacao_p

Jul 6th, 2014
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.53 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. /*Problema: Distância de caractere - Examinar uma cadeia de n caracteres alfabeticos (entrada) e formar uma cadeia com valores
  5. numéricos, um número para cada caractere alfabético. Cada posição da cadeia resultante será ocupada por um número representando
  6. uma contagem dos caracteres que separam o caractere na posição correspondente do caractere similar mais próximo para a esquerda
  7. na cadeia de entrada. Nenhuma distância maior do que 9 será registrada. Qualquer caractere sem correspondente à esquerda dentro
  8. de 9 posições terá 0 na cadeia resultante. Por exemplo, dada a cadeia de caracteres AABCDBEFFEABGBWB, a mesma daria como
  9. resultado a cadeia numérica 0100030013960202.*/
  10.  
  11. void main(void){
  12.  
  13. int i;
  14. int j=0;
  15. int cont=0;
  16. int temp=0;
  17. int vet[30];
  18. char texto[31];
  19. char *p=texto;
  20. int *pv=vet;
  21.  
  22. printf("Entre com a sua string:\n");
  23. gets(texto);
  24.  
  25. for(i=1;i<strlen(texto);i++){
  26.         for(j=0;j<=i;j++){
  27.             if(*(p+i)!=*(p+i-1-j)){
  28.                 temp++;
  29.             }
  30.             else if(*(p+i)==*(p+i-1-j)){
  31.                 temp++;
  32.                 cont=temp;
  33.                 break;
  34.  
  35.             }
  36.         }
  37.         if(cont>9)
  38.             cont=0;
  39.         *(pv+i)=cont;
  40.         cont=0;
  41.         temp=0;
  42. }
  43.  
  44. *(pv+0)=0;
  45. printf("\n");
  46.  
  47. printf("-----STRING & CODIFICACAO-----\n\n");
  48. for(i=0;i<strlen(texto);i++)
  49.     printf("%c ",*(p+i));
  50.  
  51. printf("\n");
  52.  
  53. for(i=0;i<strlen(texto);i++)
  54.     printf("%d ",*(pv+i));
  55.  
  56. puts("\n");
  57. system("pause");
  58. }
Advertisement
Add Comment
Please, Sign In to add comment