Author Topic: Programa para obtener el numero mayor de 3 enteros  (Read 7986 times)

0 Members and 1 Guest are viewing this topic.

Offline Edg

  • Sv Member
  • ***
  • Posts: 330
Programa para obtener el numero mayor de 3 enteros
« on: April 18, 2008, 11:46:52 pm »
El programa funciona bien para enteros que tienen 10 dígitos o menos, pero cuando le ingreso un entero de 11 dígitos ya no furula, si me pueden dar una ayudita se los agradecería mucho  :thumbsup:

Code: [Select]
#include "stdio.h"
#define CANT 3

void leerNum(int numeros[CANT]);
void compararNum(int numeros[CANT], int mayor);

int main(void){
int numeros[CANT], mayor;
leerNum(numeros);
compararNum(numeros, mayor);
return 0;
}

void leerNum(int numeros[CANT]){
int i;
for(i=0; i<3; i++){
printf("Por favor ingrese el %dº numero: ",i+1);
scanf("%d",&numeros[i]); while(getchar()!='\n');
}
}

void compararNum(int numeros[CANT], int mayor){
int i;
mayor=numeros[0];
for(i=1; i<3; i++){
if (numeros[i]>mayor)
mayor=numeros[i];
}
printf("El numero mayor es %d\n",mayor);
}


Offline rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Posts: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Programa para obtener el numero mayor de 3 enteros
« Reply #1 on: April 19, 2008, 12:04:07 am »
pasa los tipos de datos a long en lugar de int, avisanos si no te funciona para revisarlo bien.

guanacompu

  • Guest
Re: Programa para obtener el numero mayor de 3 enteros
« Reply #2 on: April 30, 2008, 12:57:27 am »
pasa los tipos de datos a long en lugar de int, avisanos si no te funciona para revisarlo bien.

exacto la constante "int" solo tiene 2 bytes de memoria si mal no recuerdo proba con long, float o double talvez ese sea el problema.

saludos.

Offline antonio

  • Sv Vampire Team ®
  • The Communiter-
  • ***
  • Posts: 1567
Re: Programa para obtener el numero mayor de 3 enteros
« Reply #3 on: April 30, 2008, 06:28:55 am »
Viejo revisa la sentencia scanf(&numero); aki la variable i=1 y db ser i=0. Lo k suced es k cuand no especifics un valor para tods las variables asigna valores al asar
Porque cortarlas verdes , si maduras caen solas

Offline Edg

  • Sv Member
  • ***
  • Posts: 330
Re: Programa para obtener el numero mayor de 3 enteros
« Reply #4 on: April 30, 2008, 09:39:16 am »
Viejo revisa la sentencia scanf(&numero); aki la variable i=1 y db ser i=0. Lo k suced es k cuand no especifics un valor para tods las variables asigna valores al asar

No, la variable i sigue siendo cero, lo que pasa que en printf la pongo i+1 solo para mostrarle al usuario desde el número 1 pero realmente el arreglo comienza a guardar números desde la casilla cero

printf("Por favor ingrese el %dº numero: ",i+1);
scanf("%d",&numeros); while(getchar()!='\n');

Y si ya cambié el tipo de variable a long y funcionó :D gracias mara  carro.