Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/07/2011, 23:31
Avatar de CapacProg
CapacProg
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: Problema con cadena de caracteres

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'. Una posible solución que hallo basado en tu implementación es la siguiente:
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.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%