muy complicado lo que pides, sobretodo si no le das una limitante de numeros...
mas no imposible... si entiendes de arboles binarios es facil, ( pero si vas comensando kisas no le entiendas... =/
al codigo anterior le agregamos un do while que nos pregunte si continuar
do{
pedir numero
y = leer()
y = y * y
z=y
while y >= 10
{
y=y/10
contador = contador+1
}
contruir arbol (z) // esto es un metodo
print contador
}while continuar ingresando?
//imprimimos los 10 mayores
arbol en post orden -> arreglo[]
imprimir arreglo[1....10]
el arbol binario es algo complicado =/
pero consiste mas o menos asi
Conceptos: nodo (cada valor del arbol)
algoritmo
metodo arbol (recive 'numero')
if nodo vacio
{
nodo = numero}
else
if numero > 10
ala izquerda del nodo
regresa ala primer linea
else
ala derecha del nodo
regresa ala primer linea
esto nos generaria una "arbol" con los valores mas chikos ala derecha y los mas altos ala izuquierda
con eso puedes saber los 10 mas grandes o los 10 mas pekeños.. o los 10 de enmedio.. y otras cosas XD
para entender tienes que leer sobre arboles...
PD: perdon por combinarte objetos con estructurado... eske casi no recuerdo los arboles binarios... pero lee sobre ellos.. es tu solucion optima! =3