
Ayuda en un problema de algoritmos
Publicado por david (1 intervención) el 26/02/2017 03:03:48
Tengo el siguiente problema
"Dada una secuencia de números enteros terminada con 0, hacer un programa
para contar el número de cambios de dirección en la secuencia. Existen
dos posibles direcciones: incremental y decremental. Una secuencia es
incremental si cada número es mayor o igual al anterior. Una secuencia es
decremental si cada número es menor o igual al anterior. Por ejemplo, para
la secuencia 4 5 5 2 1 9 su programa debe imprimir 2. Hay dos cambios
de dirección: primero tenemos la secuencia incremental 4 5 5, luego un
cambio de dirección ya que llegamos a una secuencia decremental 2 1 y
luego un segundo cambio de dirección para la secuencia incremental 9."
Y he hecho esto:
Pero no se como hacer que cuente el numero de cambios y como recibir los numeros, si tengo que tener dos variables como "Numero anterior" y "Numero siguiente" o simplimente solo una variable "numero" y un auxiliar que guarde lo del anterior
"Dada una secuencia de números enteros terminada con 0, hacer un programa
para contar el número de cambios de dirección en la secuencia. Existen
dos posibles direcciones: incremental y decremental. Una secuencia es
incremental si cada número es mayor o igual al anterior. Una secuencia es
decremental si cada número es menor o igual al anterior. Por ejemplo, para
la secuencia 4 5 5 2 1 9 su programa debe imprimir 2. Hay dos cambios
de dirección: primero tenemos la secuencia incremental 4 5 5, luego un
cambio de dirección ya que llegamos a una secuencia decremental 2 1 y
luego un segundo cambio de dirección para la secuencia incremental 9."
Y he hecho esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
na = 1
ns= 1
creciente = ' '
decreciente = ' '
cambioc = 0
cambiod = 0
auxc = creciente
auxd = decreciente
while na !=0:
decreciente = ' '
decreciente = ' '
na = int(input())
if na == 0:
break
ns = int(input())
if ns == 0:
break
if na != 0 or ns != 0:
if na < ns:
creciente = 'creciente'
if na > ns:
decreciente = 'decreciente'
if creciente == 'creciente':
cambioc = 1
elif creciente != 'creciente':
cambioc = 0
elif decreciente == 'decreciente':
cambiod = 1
elif decreciente != 'decreciente':
cambiod = 0
cambio = cambioc+cambiod
print ('Cambios: '+str(cambio))
Pero no se como hacer que cuente el numero de cambios y como recibir los numeros, si tengo que tener dos variables como "Numero anterior" y "Numero siguiente" o simplimente solo una variable "numero" y un auxiliar que guarde lo del anterior
Valora esta pregunta


0