Ayuda para programar gráfica en el que se muestre la altura con asteriscos una secuencia de enteros
Publicado por Manuuue (1 intervención) el 04/11/2016 18:34:12
Hola necesito ayuda para un programa, el cual consiste en lo siguiente:
Escribe un programa Java que lea una secuencia de enteros terminada en un número negativo y muestre por pantalla una gráfica en el que se muestre la altura con asteriscos de la secuencia de enteros finalizada en número negativo introducida por teclado, y además de cómo resultado el número de picos, valles, la anchura del valle más largo, la longitud del pico más ancho, la altura del pico más elevado, y la altura del valle más profundo.
A continuación, se muestran ejemplos de ejecución del programa.
10 5 4 3 6 20 19 18 18 17 17 18 19 16 14 5 7 10 -1
**********
*****
****
***
******
******************** ******************* ****************** ****************** ***************** ***************** ****************** ******************* **************** ************** ***** ******* ********** (todos los asteriscos como los 5 primeros en filas)
Número de picos:2
Número de valles:3
Max longitud Montaña:8
Max longitud Valle:8
Max altura:20
Min altura:3
Mi código es el siguiente:
Necesito resolver la anchura máxima/mínima, alturas máxima/mínima y la impresión de los asteriscos.
Debe ser resuelto mediante los comandos if / for / else if / while ... (mejor no utilizar comandos más complejos).
¿Alguien podria ayudarme con el código? Me encuentro totalmente perdido y no sé como seguir adelante con el programa.
Muchas gracias anticipadas.
Escribe un programa Java que lea una secuencia de enteros terminada en un número negativo y muestre por pantalla una gráfica en el que se muestre la altura con asteriscos de la secuencia de enteros finalizada en número negativo introducida por teclado, y además de cómo resultado el número de picos, valles, la anchura del valle más largo, la longitud del pico más ancho, la altura del pico más elevado, y la altura del valle más profundo.
A continuación, se muestran ejemplos de ejecución del programa.
10 5 4 3 6 20 19 18 18 17 17 18 19 16 14 5 7 10 -1
**********
*****
****
***
******
******************** ******************* ****************** ****************** ***************** ***************** ****************** ******************* **************** ************** ***** ******* ********** (todos los asteriscos como los 5 primeros en filas)
Número de picos:2
Número de valles:3
Max longitud Montaña:8
Max longitud Valle:8
Max altura:20
Min altura:3
Mi código es el siguiente:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import java.util.Scanner;
public class Montañav2 {
public static void main(String[] args){
Scanner entrada=new Scanner(System.in);
int ant=0;
int num;
int picos=0;
int valles=0;
int maxalt=0;
int minalt=0;
int maxlong=0;
int minlong=0;
int asterisco;
int anchvalle=0;
boolean subiendo=true;
num=entrada.nextInt();
if(num>0){
ant=num;
num=entrada.nextInt();
subiendo=(num>ant);
}
while(num>=0){ //Casos
if(num>=ant&&subiendo){ //Caso 1
ant=num;
num=entrada.nextInt();
}
else if(num<ant&&subiendo){ //Caso 2
picos++;
ant=num;
num=entrada.nextInt();
subiendo=false;
}
else if(num<=ant&&!subiendo){ //Caso 3
ant=num;
num=entrada.nextInt();
}
else if(num>ant&&!subiendo){ //Caso 4
valles++;
ant=num;
num=entrada.nextInt();
subiendo=true;
}
}
System.out.println("Número de picos: " +picos);
System.out.println("Número de valles: " +valles);
System.out.println("Máx. altura: " +maxalt);
System.out.println("Mín. altura: " +minalt);
System.out.println("Máx. longitud: " +maxlong);
System.out.println("Mín. longitud: " +minlong);
}
}
Necesito resolver la anchura máxima/mínima, alturas máxima/mínima y la impresión de los asteriscos.
Debe ser resuelto mediante los comandos if / for / else if / while ... (mejor no utilizar comandos más complejos).
¿Alguien podria ayudarme con el código? Me encuentro totalmente perdido y no sé como seguir adelante con el programa.
Muchas gracias anticipadas.
Valora esta pregunta


0