Hacer un algoritmo que encuentre la suma de los números impares comprendidos entre 1 y N.
#include <iostream>
// se incluye la clase Numero para despues llamar a sus metodos
#include "Numero.h"
using namespace std;
// implementacion del metodo para mostrar los numeros impares
void mostrarNumerosImpares(int n)
{
// el metodo requiere de un parametro (n) que sera el numero max de los numeros impares que queremos mostrar
cout << "Numeros impares: ";
// recorremos con el ciclo for desde 1 hasta el valor pasado como parametro (n)
for (int i = 1; i <= n; i++)
{
// si el modulo o resto entre (i) y 2 es diferente a cero, entonces el numero (i) es impar
if (i % 2 != 0)
{
// mostramos el numero (i)
cout << i << " ";
}
}
}
int main(void)
{
// se crea un objeto de la clase Numero (Instanciaciación)
Numero *obj = new Numero();
// declaramos una variable de tipo entero llamada "num"
int num;
// pedimos el numero
cout << "Digite numero: ";
// guardamos el numero en la variable "num"
cin >> num;
// llamamos al metodo mostrarNumerosImpares() y le asignamos como parametro la variable "num"
mostrarNumerosImpares(num);
// llamamos al metodo sumaNumerosImpares() y le asignamos "num" como parametro para calcular la suma
cout << endl << "Suma: " << obj->sumaNumerosImpares(num) << endl;
}
#ifndef NUMERO_H
#define NUMERO_H
class Numero
{
public:
Numero();
virtual ~Numero();
// declaramos el metodo sumaNumerosImpares() el cual requiere de un parametro de tipo entero
int sumaNumerosImpares(int n);
protected:
private:
};
#endif // NUMERO_H
#include "Numero.h"
Numero::Numero()
{
//ctor
}
Numero::~Numero()
{
//dtor
}
// implementacion del metodo para calcular la suma de los numeros impares
int Numero::sumaNumerosImpares(int n)
{
// el metodo necesita de un parametro (n) que sera el numero max de los numeros impares que le calcularemos la suma
int suma = 0; // declaramos la variable suma y la inicializamos en cero
// recorremos con el ciclo for desde 1 hasta el valor pasado como parametro (n)
for (int i = 1; i <= n; i++)
{
// si el modulo o resto entre (i) y 2 es diferente a cero, entonces el numero (i) es impar
if (i % 2 != 0)
{
// le asignamos a "suma" el valor actual de "suma" y de "i" (variable acumuladora)
suma = suma + i;
}
}
// retornamos el valor que haya acumulado suma
return suma;
}
//Se importa paquete "JOptionPane" para dibujar un cuadro de dialogo en pantalla
//que muestre información o para llenar información.
import javax.swing.JOptionPane;
public class Main
{
// implementacion del metodo para mostrar los numeros impares
public static void mostrarNumerosImpares(int n)
{
// el metodo requiere de un parametro (n) que sera el numero max de los numeros impares que queremos mostrar
String numeros = "";
// recorremos con el ciclo for desde 1 hasta el valor pasado como parametro (n)
for (int i = 1; i <= n; i++)
{
// si el modulo o resto entre (i) y 2 es diferente a cero, entonces el numero (i) es impar
if (i % 2 != 0)
{
/* le asignamos a "numeros" el valor de "numeros" actual más el valor convertido a string de "i" actual
* (se debe convertir a string el valor de "i" porque sino el operador + pensara que estamos
* haciendo una operacion, y no estamos haciendo eso, solo estamos acumulando)
*/
numeros = numeros + " " + String.valueOf(i);
}
}
JOptionPane.showMessageDialog(null, "Numeros impares: " + numeros);
}
public static void main(String[] args)
{
// se crea un objeto de la clase Numero (Instanciaciación)
Numero obj = new Numero();
// pedimos el numero y los guardamos en la variable "num"
int num = Integer.parseInt(JOptionPane.showInputDialog("Digite numero:"));
// llamamos al metodo mostrarNumerosPares() y le asignamos como parametro la variable "num"
mostrarNumerosImpares(num);
// llamamos al metodo sumaNumerosPares() y le asignamos "num" como parametro para calcular la suma
JOptionPane.showMessageDialog(null, "Suma: " + obj.sumaNumerosImpares(num));
}
}
public class Numero
{
// implementacion del metodo para calcular la suma de los numeros impares
public int sumaNumerosImpares(int n)
{
// el metodo necesita de un parametro (n) que sera el numero max de los numeros impares que le calcularemos la suma
int suma = 0; // declaramos la variable suma y la inicializamos en cero
// recorremos con el ciclo for desde 1 hasta el valor pasado como parametro (n)
for (int i = 1; i <= n; i++)
{
// si el modulo o resto entre (i) y 2 es diferente a cero, entonces el numero (i) es impar
if (i % 2 != 0)
{
// le asignamos a "suma" los valores actuales de "suma" más el valor de "i" (suma es una variable acumuladora)
suma = suma + i;
}
}
// retornamos el valor que haya acumulado suma
return suma;
}
}