Adsence

domingo, 15 de abril de 2012

Determinar-secuencias-Crecientes-y-Decreciente-en-C

Leave a Comment
[caption id="attachment_756" align="aligncenter" width="674"]Determinar las secuencias crecientes y decrecientes en C Determinar las secuencias crecientes y decrecientes en C[/caption]

Construir un programa que lee una secuencia de enteros positivos acabada en cero y muestre por pantalla cuantas subsecuencias de tres elementos crecientes y decrecientes contiene.

Por ejemplo la secuencia:12 23 34 45 32 33 15 13 0 contiene 2 subsecuencias crecientes y 1 decreciente.



[cpp]

/*
Construir un programa que lee una secuencia de enteros positivos acabada en cero y muestre por pantalla cuantas subsecuencias de tres elementos crecientes y decrecientes contiene.

Por ejemplo la secuencia:12 23 34 45 32 33 15 13 0 contiene 2 subsecuencias crecientes y 1 decreciente.
*/
#include< iostream >
using namespace std;
int main ()
{
int contc=0, contd=0;
/* n se encarga de guardar temporalmente el numero, y el vector los mantiene hay, la variable can me indica cuantos numerose guardaron */
int n,num[50],can=0;
cout< < "Introduce una secuencia de enteros acabada en 0: "< < endl;
/* Como no sabemos cuantos numeros va a escribir toca realizar un ciclo hasta que detecte el numero 0 */
cin > >n;
while(n!=0)
{
//Entrara en el ciclo si el numero no es cero
num[can]=n;
can++;
cin > >n;
}
/* Ahora tengo que analizar cada 3 numeros para saber si crecen o decrecen */
for(int i=0; i< can;i++)
{
//Se realiza con el fin de no salirme del indice del vector
if(i< can-2)
{
cout< < "Eestoy en buena posicion del indice\n";
cout< < num[i]< < " "< < num[i+1]< < " "< < num[i+2]< < endl;
if(num[i] >num[i+1] && num[i+1] >num[i+2])
{
contd++;
cout< < "Es Decreciente\n";
}
if(num[i]< num[i+1] && num[i+1]< num[i+2])
{
contc++;
cout< < "Es Creciente\n";
}
}
}
cout< < "Hay "< < contc< < "secuencias crecientes"< < endl;
cout< < "Hay "< < contd< < "secuencias decrecientes"< < endl;
system("pause");
}

[/cpp]

0 comentarios :