Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/07/2011, 23:34
Avatar de halexander
halexander
 
Fecha de Ingreso: abril-2010
Ubicación: En algun lugar de mexico xD
Mensajes: 59
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema con cadena de caracteres

Cita:
Iniciado por CapacProg Ver Mensaje
En la forma que lo haces no llegas a poner a array2 el caracter de termino ('\0') que le indica al programa donde termina array2, es por ello que cuando lo imprimes imprime hasta donde logra encontrar '\0', la posible solución que hallo basado en tu implementación es:
Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <math.h>
  5.  
  6. int main()
  7. {
  8.   char array[30], array2[30];//array.-arreglo principal //array2.-aki se invertira la cadena
  9.   int lng,i,suma=0;//lng=longitud arreglo, i=contador,j=contador
  10.  
  11.   printf("introduce un numero binario: ");
  12.   gets(array);
  13.  
  14.   lng=strlen(array);
  15.    
  16.   for(i=0;i<lng;i++)
  17.   {
  18.     array2[i]=array[lng-1-i]
  19.   }
  20.   array2[lng]='\0';
  21.   printf("\n%s\n%s\n",array,array2);//imprimo la cadena
  22.   system("PAUSE");
  23.   return 0;
  24. }

Este código sirve si tu arreglo array no sobrepasa de los 30 caracteres.

=o es cierto capac¡¡ xD tienes toda la razon del mundo xD olvide ese detalle del nulo \0... muchas gracias =) ya con esa ayuda resuelvo mi problema =) muchisimimas gracias¡¡¡ =D