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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


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

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Hacer
« en: 29 Octubre 2014, 16:58 pm »



Podrían ayudarme, por favor. Gracias


« Última modificación: 29 Octubre 2014, 19:52 pm por Ale_21 » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Hacer un programa en C que me de la cantidad de divisores
« Respuesta #1 en: 29 Octubre 2014, 17:05 pm »

hola! te explico algunas cosillas antes que nada

-usa las etiquetas GeSHi cuando publiques codigo, lo hará más legible
-procura colocar el codigo bien identado (bien espaciado)
Código
  1. #include<stdio.h>
  2. int main (){
  3.  int cont=0;
  4.  int N,i;
  5.  scanf("%d",&N);
  6.  {
  7.    for(int i= 1; i<=N; i ++){
  8.      if((N%div) == 0){
  9.        cont ++;
  10.      }
  11.    }
  12.  }
  13. }

-publica cual es el error que te da, no siempre podemos adivinarlos o correrlos...

sabido esto ahora vamos... en la linea 6 para que es esa llave?
no debes declarar variables dentro de los parametros del for (no todos los compiladores lo soportan y es contra recomendado)

di cual error te da


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.
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Hacer un programa en C que me de la cantidad de divisores
« Respuesta #2 en: 29 Octubre 2014, 17:05 pm »

Bienvenida al foro.

Lo primero que te recomiendo es editar tu mensaje y decorar el código con la etiqueta GeSHi correspondiente a C o C++, según el lenguaje de programación del que se trate. Es obligatorio según las normas del foro, pero sin tener en cuenta ese detallito sin importancia, si es cierto que facilita bastante la lectura del código.

Código
  1. #include<stdio.h>
  2.  
  3. int main ()
  4. {
  5.  int cont=0;
  6.  int N,i;
  7.  scanf("%d",&N);
  8.  
  9.  { // <<< 1
  10.  for(int i= 1; i<=N; i ++) // <<< 3
  11.  {
  12.    if((N%div) == 0)
  13.    {
  14.      cont ++; // <<< 4
  15.    }
  16.  }
  17.  } // <<< 2
  18. }

El código tiene varios comentarios, significan lo siguiente:

* 1 y 2: Estas llaves no son necesarias. No aportan absolutamente nada y son redundantes. Puedes eliminarlas sin ningún miedo.

* 3: Los "for" en C no permiten declarar variables. "int i" no está permitido dentro de un "for". Además, ya has declarado una variable "i" 4 líneas antes. El "for" debería quedar tal que:

Código
  1. for( i= 1; i<=N; i++ )

* 4: Esta variable no la estás usando absolutamente para nada. Después del bucle deberías imprimir su valor para saber cuántos divisores tiene el número.

Un saludo



Edito: Se me adelantó engel lex
« Última modificación: 29 Octubre 2014, 17:07 pm por eferion » En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Hacer un programa en C que me de la cantidad de divisores
« Respuesta #3 en: 29 Octubre 2014, 17:14 pm »

Solo agregar que la condición de la sentencia de selección if esta mal ya que divide por "div" (una variable no declarada):
Código
  1. if ((N % div) == 0){
Para solucionarlo se debe dividir por el contador del bucle "i":
Código
  1. if ((N % i) == 0){

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Hacer un programa en C que me de la cantidad de divisores
« Respuesta #4 en: 29 Octubre 2014, 17:19 pm »

.....y no te olvides del return de la función main. Tampoco vendrían mal algunos printf o puts para saber que hace al comienzo el programa y cuales son los resultados. Las llaves sólo si son necesarias. También es importante el indentar el código, algo como  :o:

Código
  1. #include<stdio.h>
  2.  
  3. int main ( void ) {
  4.  int N , i , cont = 0 ;
  5.  puts ( "Introduce un numero:" ) ;
  6.  scanf( "%d" , &N ) ;
  7.  puts ( "Son divisores:" ) ;
  8.  for( i = 1 ; i <=N ; i ++ )
  9.    if( ( N % i ) == 0 )
  10.      cont ++ , printf ( "%d   " , i ) ;
  11.  printf ( "\nTotal de divisores: %d\n" , cont ) ;    
  12.  return 0 ;
  13. }

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


« Última modificación: 29 Octubre 2014, 19:31 pm por leosansan » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines