Leer un número entero de dos dígitos y determinar si es primo y además si es negativo.
El problema es que me da error al momento de arrancarlo y no se por qué ya que es mi primer programa en C++.
Espero puedan ayudarme.
Código:
Tambien cuando ingreso -11, me muestra error y no se por qué si es 11 primo y deberia mostrarme: es negativo.#include <iostream> using namespace std; /* Tema: P2 - Algoritmos Decisiones 2. Leer un número entero de dos dígitos y determinar si es primo y además si es negativo. */ int main() { //Declaración de variables int liNumero, liContador, liContadora = 0; //Entrada de datos cout << "Ingrese un n\243mero entero de dos d\241gitos: " << endl; cin >> liNumero; //Procesamiento if (liNumero < 10 || liNumero > 99) cout << "\n\tError!, el n\243mero debe tener dos d\241gitos." << endl; else { for(liContador = 1; liContador <= liNumero; liContador++) { if (liNumero % liContador == 0) liContadora++; //Variable contadora } //Si tiene dos divisores if (liContadora == 2) { cout << "El n\243mero es primo." << endl; //Determinamos si es negativo if (liNumero < 0) cout << "El n\243mero es negativo." << endl; } //Si no tiene dos divisores else if { cout << "El n\243mero no es primo." << endl; //Determinamos si es negativo if (liNumero < 0) cout << "El n\243mero es negativo." << endl; } } return 0; }
Qué tengo mal en los IF?..