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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema con este codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con este codigo  (Leído 2,380 veces)
letisen

Desconectado Desconectado

Mensajes: 4


Ver Perfil
problema con este codigo
« en: 23 Enero 2014, 16:32 pm »

tengo este codigo que funciona para la mayoriua de los inputs pero hay algunos para los que me regresa error, como por ejemplo para este input:
" -1000000000000000000 1 1000000000000000000 "

Código:
#include <iostream>
#include <cstdio>

using namespace std;
int x,y,m;
int aux=0;
int toPerfect(int a,int b,int per){
    if(a >= per || b >= per){
         aux=0;
       
    }else if(a<=0 && b<=0){
                 aux = -1;
           }else{
                 while(a < per && b < per){
                      if(a > b){
                           b = b+a;
                       }else{
                             a = a+b;   
                            }
                      aux++;       
                }
     }
   
     return aux;
}

int main(){
    cin >>x>>y>>m;
    cout << toPerfect(x,y,m) << endl;
    cin.get();
           
}


En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: problema con este codigo
« Respuesta #1 en: 23 Enero 2014, 16:48 pm »

son números demasiado grandes, una variable tipo int no admite ese tipo de valores, para eso usa long o arreglos o punteros (bueno es lo mismo pero diferente  :laugh: :silbar:) para esos valores tan grandes.

Consulta esta tabla:

http://www.zator.com/Cpp/E2_2_4.htm

slds


En línea


letisen

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: problema con este codigo
« Respuesta #2 en: 23 Enero 2014, 17:35 pm »

son números demasiado grandes, una variable tipo int no admite ese tipo de valores, para eso usa long o arreglos o punteros (bueno es lo mismo pero diferente  :laugh: :silbar:) para esos valores tan grandes.

Consulta esta tabla:

http://www.zator.com/Cpp/E2_2_4.htm

slds


Pero al usar "long" o "long long int" en vez de "int" simplemente no termina el programa, se queda en stand-by .
En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: problema con este codigo
« Respuesta #3 en: 23 Enero 2014, 17:51 pm »

cambiaste también las funciones??? también deben ser de un tipo acorde a los valores que manejas.
En línea


letisen

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: problema con este codigo
« Respuesta #4 en: 23 Enero 2014, 18:02 pm »

yes i change it. this is my code now but also didnt work.

Código:
#include <iostream>
#include <stdio.h>

using namespace std;

long long int n,k,cont=0;
long long int aux;
int main(){
    cin >>n>>k;
    //imprime impares hasta n
   
    for(long long int i=1;i<=n;i++){
            if( i%2 != 0){
                //cout << i << endl;
                 cont++;
                 if(cont == k){
                         aux=i;
                         } 
            }
         
    }
     
     //imprime pares hasta n
     for(long long int j=1;j<=n;j++){
            if( j%2 == 0){
                //cout << j << endl;
                 cont++;
                 if(cont == k){
                         aux=j;
                 }
            }
           
    }
   
    cout << aux << endl;
    cin.get();
   
   
}
En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: problema con este codigo
« Respuesta #5 en: 23 Enero 2014, 18:05 pm »

este es totalmente diferente al inicial.
En línea


letisen

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: problema con este codigo
« Respuesta #6 en: 23 Enero 2014, 18:12 pm »

si lo cambie, usando ahora "long long int" en vez de "int" pero igual no me funciona.
En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: problema con este codigo
« Respuesta #7 en: 23 Enero 2014, 18:27 pm »

si lo cambie, usando ahora "long long int" en vez de "int" pero igual no me funciona.

En absoluto, no utilizas la función toPerfect en este nuevo main.

Sigue usando main, y cuando quieras usar valores gigantezcos, almacena cada digito en un arreglo y lo conviertes con atoi, caracter por caracter.
En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema en este codigo
PHP
Bender-Deicide 1 1,644 Último mensaje 30 Enero 2008, 04:09 am
por Carxl
problema al compilar este codigo
Programación C/C++
CrÄsH 3 2,851 Último mensaje 16 Octubre 2010, 13:47 pm
por Oblivi0n
Problema:Windows detuvo este dispositivo porque informó de problemas.(Código 43)
Windows
indorama 8 23,755 Último mensaje 31 Agosto 2011, 12:24 pm
por indorama
Problema con rand y srand en este codigo
Programación C/C++
pacosn1111 6 2,940 Último mensaje 26 Abril 2015, 20:09 pm
por Miky Gonzalez
Problema al ejecutar este código
Programación C/C++
TheFlash 0 1,699 Último mensaje 3 Enero 2017, 14:07 pm
por TheFlash
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines