elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  PROBLEMA!!! algoritmo conversor de struct a int, me devuelve 0
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: PROBLEMA!!! algoritmo conversor de struct a int, me devuelve 0  (Leído 1,191 veces)
pablombf

Desconectado Desconectado

Mensajes: 17


Ver Perfil
PROBLEMA!!! algoritmo conversor de struct a int, me devuelve 0
« en: 2 Enero 2018, 19:00 pm »

No hay errores de compilacion, solo un warning.
Consiste en que de un vector con numeros en char, los pasa a tipo int.
Uso bucle for, que de la posición más avanzada hasta la posicion 0 los va convirtiendo.
Muchas gracias si me podeis ayudar:)

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int valor (const char sec[]){
  5.    int f=0;
  6.    int l=1;
  7.    int g=0;
  8.    for(int i='\0'-1;i=0;i--){
  9.       f=sec[i]-'0';
  10.      int g=f*l+g;
  11.       l=l*10;
  12.    }
  13.    cout<<"El numero en entero es: "<<g<<endl;
  14.    return g;
  15. }
  16.  
  17. int main(){
  18.    valor("456798756464");
  19.    return 0;
  20. }


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: PROBLEMA!!! algoritmo conversor de struct a int, me devuelve 0
« Respuesta #1 en: 2 Enero 2018, 19:10 pm »

no veo bien lo que haces con tu codigo, pero si hay error es la linea 8

Código:
for(int i='\0'-1;i=0;i--)
                  ^

estás igualando en el comparador, i=0 retornará el valor igualado (0) por lo tanto el ciclo nunca entrará en el for


a demás estás redeclarando g dentro del for (linea 10), eso solo te llevará a no poder compilar bajo el error de "variable previamente definida" (A menos que uses dev c++ o algo así raro que te deja pasar esos errores XD)


« Última modificación: 2 Enero 2018, 19:13 pm por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MAFUS


Conectado Conectado

Mensajes: 1.547



Ver Perfil
Re: PROBLEMA!!! algoritmo conversor de struct a int, me devuelve 0
« Respuesta #2 en: 2 Enero 2018, 20:11 pm »

Cómo bien dice engel lex tienes un problema en la construcción del for:
Tú quieres que busque el final de la cadena, pero no debes dar el literal '\0', el programa no sabe que tú pretendes que busque eso. En verdad necesitas la función strlen, esa sí que da el tamaño de una cadena y es lo que pretendes.
La siguiente instrucción del for es la condición de continuación y allí casi nunca debes usar una asignación, que es lo que haces con un solo símbolo de igual. En su lugar la condición debe ser 'mientras i sea Mayor o igual a 0', es decir i >= 0.
Por último, como te ha dicho engel lex, dentro del for ocultas la g del main con otra variable con el mismo nombre (g) así que cada vez que el programa pase por ahí en realidad creará esa variable nueva, le asignará un valor y la destruirá antes de empezar el siguiente bucle. Para evitar eso quita el tipo a la asignación, es decir: en vez de int g=f... Quita int y que quede g=f...

Por último recuerda que no podrás crear nunca un número más grande que lo que quepa dentro de un int. Si le pasas una valor muy grande a tu función te encontrarás con un valor extraño a la vuelta de la función.
En línea

pablombf

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: PROBLEMA!!! algoritmo conversor de struct a int, me devuelve 0
« Respuesta #3 en: 2 Enero 2018, 21:40 pm »

Me habeis ayudado una barbaridad, muchas gracias por vuestro tiempo a los dos :D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema al pasar una struct de C++
Programación Visual Basic
el_c0c0 0 1,795 Último mensaje 31 Marzo 2009, 00:34 am
por el_c0c0
[SOLUCIONADO]¿Como printear un valor de un struct dentro de otro struct?
Programación C/C++
Firos 0 4,373 Último mensaje 24 Marzo 2011, 13:47 pm
por Firos
Problema con struct
Programación C/C++
Luchoz95 6 1,693 Último mensaje 27 Marzo 2013, 01:37 am
por durasno
Duda con respecto a struct dentro de struct
Programación C/C++
Naimaderis 1 1,986 Último mensaje 2 Abril 2017, 00:10 am
por ivancea96
Duda con funcion que devuelve un struct
Programación C/C++
Naimaderis 1 1,824 Último mensaje 15 Julio 2017, 21:43 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines