como soluciono esto????

16/12/2005 - 17:40 por reseum | Informe spam
tengo el siguiente codigo
class Class

public int []a=new int[11]
public int []b=new int[11]
public int c,n,p,tam
public void ingresar(



Console.Write("Cuantos numeros va ingresar : " )
tam=int.Parse(Console.ReadLine())
for(int j=0;j<tam;j++

Console.Write("Ingresar el numero : " )
c=int.Parse(Console.ReadLine())
a[j]=c

for(int j=0;j<tam;j++

Console.Write("")
Console.Write(a[j]+" ")
Console.Write("")

Console.WriteLine("")
Console.WriteLine("_____________________________________________")


public int izquierda(int t

return 2*t

public int derecha(int t

return 2*t+1


public void Cambio(int []V,int s

int D,I, IndMay, aux

D=derecha(s)
I=izquierda(s)
if(I<=tam&&(V[i]>V[s]))
IndMay=I
els
IndMay=s
if(D<=tam&&(V[D]>V[IndMay])

IndMay=D

if(IndMay!=s

aux=V[s]
V[s]=V[IndMay]
V[IndMay]=aux

Cambio(V,IndMay)

public void Extrae(int []C,int m

int j
b[p]=C[0]
C[0]=C[m]
C[m]=0
for(j=m/2;j>=1;j--

Cambio(C,j)

Extrae(C,m-p-1)
p=p+1


public void ordenar(


for(int j=tam/2;j>0;j--

Cambio(a,j)

Extrae(a,tam)
for(int i=0;i<tam;i++

Console.Write("")
Console.Write(b[i]+" ")
Console.Write("")

Console.WriteLine("")
Console.WriteLine("_____________________________________________")

y cuando lo ejecuto, logro ingresar los datos pero al momento de querer oredenar me sale una interrupcion con el siguiente error
Excepción no controlada del tipo 'System.StackOverflowException' en jaime.ex
y es señalado en la linea
D=derecha(s)
Porfa una ayuda
Gracia

reseum

Ver este tema: http://www.softwaremix.net/viewtopic-466112.htm

Enviado desde http://www.softwaremix.net
 

Leer las respuestas

#1 Daniel R. Rossnagel
17/12/2005 - 03:59 | Informe spam
el error sucede por que el codio queda encerado en un ciclo infinito
"reseum" escribió en el mensaje
news:

tengo el siguiente codigo:
class Class1
{
public int []a=new int[11];
public int []b=new int[11];
public int c,n,p,tam;
public void ingresar()
{


Console.Write("Cuantos numeros va ingresar : " );
tam=int.Parse(Console.ReadLine());
for(int j=0;j<tam;j++)
{
Console.Write("Ingresar el numero : " );
c=int.Parse(Console.ReadLine());
a[j]=c;
}
for(int j=0;j<tam;j++)
{
Console.Write("");
Console.Write(a[j]+" ");
Console.Write("");
}
Console.WriteLine("");
Console.WriteLine("_____________________________________________");

}
public int izquierda(int t)
{
return 2*t;
}
public int derecha(int t)
{
return 2*t+1;
}

public void Cambio(int []V,int s)
{
int D,I, IndMay, aux;

D=derecha(s);
I=izquierda(s);
if(I<=tam&&(V[i]>V[s]))
IndMay=I;
else
IndMay=s;
if(D<=tam&&(V[D]>V[IndMay]))
{
IndMay=D;
}
if(IndMay!=s)
{
aux=V[s];
V[s]=V[IndMay];
V[IndMay]=aux;
}
Cambio(V,IndMay);
}
public void Extrae(int []C,int m)
{
int j;
b[p]=C[0];
C[0]=C[m];
C[m]=0;
for(j=m/2;j>=1;j--)
{
Cambio(C,j);
}
Extrae(C,m-p-1);
p=p+1;
}

public void ordenar()
{

for(int j=tam/2;j>0;j--)
{
Cambio(a,j);
}
Extrae(a,tam);
for(int i=0;i<tam;i++)
{
Console.Write("");
Console.Write(b[i]+" ");
Console.Write("");
}
Console.WriteLine("");
Console.WriteLine("_____________________________________________");

y cuando lo ejecuto, logro ingresar los datos pero al momento de querer
oredenar me sale una interrupcion con el siguiente error:
Excepción no controlada del tipo 'System.StackOverflowException' en
jaime.exe
y es señalado en la linea:
D=derecha(s);
Porfa una ayuda .
Gracias


reseum


Ver este tema: http://www.softwaremix.net/viewtopic-466112.html

Enviado desde http://www.softwaremix.net


Preguntas similares