Como realizo este ejercicio en C++?

Iniciado por Exorcista12, 15 Noviembre 2013, 06:45 AM

0 Miembros y 1 Visitante están viendo este tema.

Exorcista12

Este problema es algo fácil pero simplemente no se porque no me sale, aun soy bastante principiante para entender bien los programas. Les comparte mi código para que vean que puede estar mal:

/*Desarolle un programa que muestre todos los divisores exactos de un numero ingresado por el usuario.*/

#include<iostream.h>

int main()
{
    int n,x,a;
    cout<<"Ingrese un numero"<<endl;
    cin>>n;
    for(x=1;x<=n;x++)
    {
    a=n/x;
    if ((a%x)==0)
    cout<<a<<" ";
    }
   

system("pause");   
}



rir3760

No necesitas de la variable "a", solo tienes que verificar en cada iteracion del bucle si el residuo de "n" dividido por "x" es cero y si es así imprimes el valor de "x":
Código (cpp) [Seleccionar]
for (x = 1; x <= n; x++)
   if (n % x == 0)
      cout << x << ' ';


Ademas el nombre correcto del encabezado es <iostream>, debes indicar que facilidades de la biblioteca estándar utilizas con (al menos) "using namespace::std;" y antes de utilizar la función system debes incluir el encabezado correspondiente: <cstdlib>.

Un saludo
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

Exorcista12