Programa
C++ que lea por teclado uan serie de números enteros positivos en orden creciente. la lectura de números finaliza cuando se introduzca un número que no siga la secuencia ascendente. El programa mostrará el número que rompe la secuencia y la cantidad de números introducidos.
Por ejemplo, si se introducen por teclado los números 2 4 6 11 34 7 al introducir el 7 finaliza la entrada de números porque este valor rompe la secuencia ascendente.
Se mostrará por pantalla:
- El número que ha roto la secuencia ascendente: 7
- La cantidad de números introducidos: 6
//Introducir números enteros positivos en secuencia ascendente
#include <iostream>
using namespace std;
int main()
{
//declaración de variables
int num,cont,ultimo;
cont=1; //variable para contar los números introducidos
ultimo=0; //variable donde se guarda el numero leido anterior al actual. Empieza en 0
//Se lee el primer número
do
{
cout << "Introduce numero positivo: ";
cin >> num;
}while(num<=0); //el número introducido debe ser positivo
while(num>=ultimo) //mientras el número introducido sea mayor o igual que el anterior
{
ultimo=num; //se guarda el numero actual como anterior
do //y continuamos leyendo numeros > 0
{
cout << "Introduce numero positivo: ";
cin >> num;
}while(num<=0);
cont++; // se cuenta el número
} // el bucle while acaba cuando se lee un numero menor que el anterior
//mostramos los mensajes por pantalla
cout << "\nEl numero que rompe la secuencia ascendente es " << num << endl;
cout << "\nSe han introducido " << cont << " numeros" << endl;
system("pause");
}
Este comentario ha sido eliminado por el autor.
ResponderEliminarMe ha encantado encontrar este tipo de repositorio de ejercicios, muy buenos, por cierto. Aquí mi solución:
ResponderEliminar#include iostream
#include conio.h
using namespace std;
int main(void){
int num[32], i ,aux = 0 , aux1;
bool asc = true;
while (asc)
{
cout<<"Ingrese un numero: ";
cin>>num[i];
if (i > 0 && num[i] < num[i - 1]){
aux1 = num[i];
asc = false;
}
i++;
aux++;
}
cout<<"La cantidad de numeros introducidos: "<<aux<<endl
<<"El numero que ha roto la secuencia ascendente: "<<aux1;
getch();
return 0;
}