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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


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

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Ayuda programa en C!
« en: 5 Noviembre 2014, 00:04 am »

Hola a todos!

Estoy haciendo ejercicios de la universidad sobre programacion en C, y tengo un ejercicio que me pide dado un vector (que yo voy introduciendo) dar la posición del número más cercano al primero, y he escrito el siguiente código:

Código:
#include <stdio.h>

main()
{
    int n,cont,h;
    float vector[80];
    printf("Cuantos numeros?: ");
    scanf("%d",&n);
    for(cont=0;cont<n;cont++)
    {
        printf("x= ");
        scanf("%f",&vector[cont]);
    }
    h=vector[1]-vector[0];
    for(cont=2;cont<n;cont++)
        if(abs(vector[cont]-vector[0])<h)
            h=cont;
    printf("La posicion del mas cercano es: %d\n",h);
    return 0;
}

Pero por ejemplo al introducir el vector [2,6,4,1,10], la salida es un 4, osea, me dice que el más cercano al 2 es el 10, y tendría que dar un 3, ¿alguien me puede ayudar?.

Gracias de antemano!!


En línea

Flakito81


Desconectado Desconectado

Mensajes: 519



Ver Perfil
Re: Ayuda programa en C!
« Respuesta #1 en: 5 Noviembre 2014, 01:38 am »

debe de ser cosa del cansancio pero no entiendo exactamente lo que tiene que hacer el programa.
¡podrias poner dos ejemplos?


En línea

crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: Ayuda programa en C!
« Respuesta #2 en: 5 Noviembre 2014, 02:31 am »

Buenas amigo aqui esta tu codigo lo reutilize del tuyo porque me dio flojerea tenias problemas con las llaves{}
sin mas aqui esta :

Código
  1. #include <stdio.h>
  2. #include<stdlib.h>
  3.  
  4. main()
  5. {
  6.    int n,cont,h,pos=1;
  7.    float vector[80];
  8.    printf("Cuantos numeros?: ");
  9.    scanf("%d",&n);
  10.    for(cont=0;cont<n;cont++)
  11.    {
  12.        printf("x= ");
  13.        scanf("%f",&vector[cont]);
  14.    }
  15.    h=abs(vector[0]-vector[1]);
  16.    for(cont=2;cont<n;cont++){
  17.        if((abs(vector[cont]-vector[0]))<h){
  18.            h=abs(vector[0]-vector[cont]);
  19.            pos=cont;
  20.        }
  21.    }
  22.  
  23.    printf("La posicion del mas cercano es: %d\n",pos);
  24.    return 0;
  25. }
  26.  
En línea

Si C/C++ es el padre de los lenguajes entonces ASM es dios.
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda programa en C!
« Respuesta #3 en: 5 Noviembre 2014, 17:26 pm »

Buenas amigo aqui esta tu codigo lo reutilize del tuyo porque me dio flojerea tenias problemas con las llaves{}
.....................................................

Falta el tipo "int" de la función main.  ;)

¿Y por qué no usar el mismo for de entrada de los datos para ir averiguando la posición? :

Código
  1. #include <stdio.h>
  2. #include<stdlib.h>
  3.  
  4. int main ( ) {
  5.  int n , cont , pos = 1 ;
  6.  float vector [ 80 ] ;
  7.  printf ( "Cuantos numeros?: " ) , scanf ( "%d" , &n ) ;
  8.  for ( cont = 0 ; cont < n ; cont++ ) {
  9.    printf ( "x = " ) , scanf ( "%f" , &vector [ cont ] ) ;
  10.      if( cont > 1 && ( abs ( vector [ cont ] - vector [ 0 ] ) ) < abs ( vector [ pos ] - vector [ 0 ] ) )
  11.        pos = cont ;
  12.  }
  13.  printf( "\nLa posicion del mas cercano es: %d\n " , pos ) ;
  14.  return 0;
  15. }

¡¡¡¡ Saluditos! ..... !!!!


« Última modificación: 5 Noviembre 2014, 18:47 pm por leosansan » En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Ayuda programa en C!
« Respuesta #4 en: 5 Noviembre 2014, 17:41 pm »

leosansan, se te coló una coma entre el printf y el scanf.

Por un momento pensé que ibas a meter macros jejejeje
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda programa en C!
« Respuesta #5 en: 5 Noviembre 2014, 18:58 pm »

leosansan, se te coló una coma entre el printf y el scanf.

No se me coló, lo puse así para ahorrar una línea por cada pareja de printf y scanf .  :rolleyes:

Por un momento pensé que ibas a meter macros jejejeje

 ;-) Y dale, ¡Ouggg Gran Maestro!, estando tú presente ni me atrevo a esas cosas.  :)

Un fuerte abrazo amigo eferion.

¡¡¡¡ Saluditos! ..... !!!!


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Ayuda programa en C!
« Respuesta #6 en: 5 Noviembre 2014, 21:49 pm »

No se me coló, lo puse así para ahorrar una línea por cada pareja de printf y scanf .  :rolleyes:

¿No debería ser un punto y coma en vez de solamente una coma? jejeje

;-) Y dale, ¡Ouggg Gran Maestro!, estando tú presente ni me atrevo a esas cosas.  :)

Gran maestro yo??? jajajaja, me halagas. Tampoco te creas que soy un gurú de las macros... de echo prefiero evitarlas salvo para cosas muy muy muy concretas. Yo personalmente pienso que las macros son uno de los cánceres de C++... la compilación de programas en C++ es lentísima en parte gracias a la existencia de las macros... no ofrecen ningún tipo de tipado... su código no se puede depurar...
« Última modificación: 5 Noviembre 2014, 21:51 pm por eferion » En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda programa en C!
« Respuesta #7 en: 5 Noviembre 2014, 22:05 pm »

¿No debería ser un punto y coma en vez de solamente una coma? jejeje

"Creo" que puedes separar instrucciones/funciones, como el scanf y el printf, por una coma sin necesidad de un punto y coma para cada uno de ellos. Vamos, como el declarar varias variables del tipo int, como ejemplo: int i , j , k ;

Gran maestro yo??? jajajaja, me halagas.

A cada uno lo que se merece y sí, es un halago a tus profundos conocimientos de C++...y C.

¡¡¡¡ Saluditos! ..... !!!!


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON PROGRAMA
Diseño Gráfico
Luisango 1 2,441 Último mensaje 17 Abril 2005, 13:25 pm
por Sub_Cero
ayuda con mi programa
Programación Visual Basic
nitrox 2 2,341 Último mensaje 31 Julio 2005, 00:48 am
por Slasher-K
ayuda programa!!
Programación C/C++
rodrigo_103 4 3,358 Último mensaje 16 Septiembre 2012, 21:58 pm
por rodrigo_103
[Ayuda] ¿Cómo ejecutar otro programa desde mi programa de C#?
.NET (C#, VB.NET, ASP)
Zodiak98 1 6,107 Último mensaje 8 Diciembre 2013, 01:51 am
por Eleкtro
[AYUDA] Ayuda con NETCAT o cualquier otro programa similar
Dudas Generales
Noxware 0 2,171 Último mensaje 16 Junio 2014, 18:13 pm
por Noxware
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines