• Domingo 17 de Noviembre de 2024, 20:00

Autor Tema:  DIVISORES  (Leído 1130 veces)

ermiguel1979

  • Miembro activo
  • **
  • Mensajes: 45
    • Ver Perfil
DIVISORES
« en: Sábado 12 de Diciembre de 2009, 19:52 »
0
HOla chic@s; necesito hacer un programilla que te muestre en pantalla todos los divisores de un número entero.

He estado cacharreando, pero despues de escribir el codigo y tal, el programa no hace nada.
Pide y lee el número, pero se me atranca en el 'resto'.

Hay va la parida que llevo hecha:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

/*Algoritmo -> DIVISORES de un numero dado*/
int main (void){
   /*VARIABLES*/
   //Entradas
   int num;      //El numero a estudiar
   //Intermedias
   int i;         //Contador del 'PARA'
   int aux;      //resto de 'num'/'i' en cada iteracion
   //Leer variables
   printf("Escribir un numero entero: ");
   scanf("%i", &num);
   
   /*OPERACIONES*/
   for(i=1; i<=num; i++){
      aux = num%i;
      if (aux=0){
         printf("%i es divisor de %in", i, num);
      }
   }
}


Bueno, que deciros a parte de que soy más malo que Fu-Manchú.... en esto del C.

Un saludo para la gente del foro!!!

punteroNULO

  • Miembro activo
  • **
  • Mensajes: 73
    • Ver Perfil
Re: DIVISORES
« Respuesta #1 en: Domingo 13 de Diciembre de 2009, 00:10 »
0
Un fallo es este:
Código: C
  1. if (aux=0){
  2.  

Estas haciendo una asignación, para comparar es "=="
Código: C
  1. if (aux==0){
  2.  

xtermsh

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: DIVISORES
« Respuesta #2 en: Domingo 13 de Diciembre de 2009, 17:01 »
0
No necesitas hacer un ciclo hasta llegar al número, basta con que llegues a num / 2.

ermiguel1979

  • Miembro activo
  • **
  • Mensajes: 45
    • Ver Perfil
Re: DIVISORES
« Respuesta #3 en: Domingo 13 de Diciembre de 2009, 18:54 »
0
Hey!, un detalle muy bueno el del ==; voy a corregirlo ahora mismo. Gracias...