Tecnología y Electrónica, pregunta formulada por carritosebastian, hace 1 mes

Dado un array de números enteros y un objetivo de búsqueda entero, devuelve índices de los dos números de manera que se sumen al objetivo.
Puede suponer que cada entrada tendría exactamente una solución y no puede usar el mismo elemento dos veces.
Puede devolver la respuesta en cualquier orden.

Ayudenme porfavor en C++

Respuestas a la pregunta

Contestado por Mecias08
0

Respuesta:

#include <iostream>

#include <string>

#include <cctype>

#include <cstdlib>

using namespace std;

bool esEntero(string);

int main() {

string linea;

int numero;

bool repite = true;

 

do {

 cout << "\nIngrese un valor entero: ";

 getline(cin, linea);

 

 if (esEntero(linea)) {

  repite = false;

 } else {

  cout << "No has ingresado un valor entero. Intentalo nuevamente" << endl;

 }

} while (repite);

 

numero = atoi(linea.c_str());

 

cout << "El numero ingresado fue: " << numero << endl;

 

cin.get();

return 0;

}

bool esEntero(string linea) {

bool esEntero = true;

int longitud = linea.size();

 

if (longitud == 0) {

 esEntero = false;

} else if (longitud == 1 && !isdigit(linea[0])) {

 esEntero = false;

} else {

 int indice = 0;

 if (linea[0] == '+' || linea[0] == '-') {

  indice = 1;

 } else {

  indice = 0;

 }

 while (indice < longitud) {

  if (!isdigit(linea[indice])) {

   esEntero = false;

   break;

  }

  indice++;

 }

}

return esEntero;  

}

Explicación:

Aqui el codigo fuente para ingresar solo numeros enteros con signo o sin signo, y te los ira sumando o restando ocupamos la funcion  isdigit para verificar que sea un digito y no algun otro caracter.

Otras preguntas