Domingo 22 de Diciembre de 2024, 19:41
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
C#
(Moderador:
ProfesorX
) »
Busqueda Secuencial
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Busqueda Secuencial (Leído 11296 veces)
nordith
Nuevo Miembro
Mensajes: 5
Busqueda Secuencial
«
en:
Lunes 15 de Febrero de 2010, 17:30 »
0
Hola, necesito ayuda porfavor,
se trata de lo siguiente en C#
Leer desde el teclado un nùmero entero dado, usando la instruccion C int. Crear un arreglo
tipo entero de tamaño 10000. Reyenarel arreglo con numero aleatorios enteros entre el
0 y 9999 usando la instruccion ran (). Reportar la posicion del numero que estoy buscando en el arreglo.
No es necesario usar clases ni execciones, es mas sencillo.
Se los agradeceria mucho
Tweet
ProfesorX
Moderador
Mensajes: 796
Nacionalidad:
Re: Busqueda Secuencial
«
Respuesta #1 en:
Lunes 15 de Febrero de 2010, 18:47 »
0
No se hacen tareas.
Comienza a hacer el ejercicio, y si te marca algun error, entonces puedes indicarnos exactamente que error te marca y entonces seguro que alguien te ayudara.
De otra forma, nadie hara tu trabajo.
Saludos
NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================
nordith
Nuevo Miembro
Mensajes: 5
Re: Busqueda Secuencial
«
Respuesta #2 en:
Lunes 15 de Febrero de 2010, 18:55 »
0
ok, entonces a que se refiere este error :
en la parte de static void Main(string[] args)
me marca error porqe dice que tengo que declarar un
cuerpo ??
namespace Practica_1
{
class Program
{
static void Main(string[] args);
int BuscaPosicion(int[] A, int x)
{
int posicion = -1;
int i = 0;
while ((posicion == -1) && (i < A.Length))
{
if (A
== x)
{
posicion = i;
}
else
{
i++;
}
}
return posicion;
}
}
}
«
última modificación: Lunes 15 de Febrero de 2010, 21:48 por nordith
»
ProfesorX
Moderador
Mensajes: 796
Nacionalidad:
Re: Busqueda Secuencial
«
Respuesta #3 en:
Lunes 15 de Febrero de 2010, 19:39 »
0
El error que comentas no es muy especifico, deberias publica el codigo para ver exactamente que tienes y porque te marca ese error, aunque sospecho que no tienes tu programa con la estructura minima de un programa en C#.
La estructura minima de un programa en C# seria algo como:
Código: C#
using
System
;
namespace
ConsoleApplication1
{
class
Program
{
static
void
Main
(
string
[
]
args
)
{
}
}
}
Si tienes algo como eso, vas bien, si te falta algo, pues de seguro ahi esta el error, en todo caso, publica tu codigo, para estar seguros. Y cuando lo publiques, encierra tu codigo en etiquetas [ code][ /code] (sin espacios en los corchetes) como yo, para que tu codigo sea mas legible.
NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================
nordith
Nuevo Miembro
Mensajes: 5
Re: Busqueda Secuencial
«
Respuesta #4 en:
Lunes 15 de Febrero de 2010, 21:49 »
0
namespace Practica_1
{
class Program
{
static void Main(string[] args);
//Con o sin el punto y coma despues de args me marca error
int BuscaPosicion(int[] A, int x)
{
int posicion = -1;
int i = 0;
while ((posicion == -1) && (i < A.Length))
{
if (A
== x)
{
posicion = i;
}
else
{
i++;
}
}
return posicion;
}
}
}
tannke
Miembro MUY activo
Mensajes: 152
Nacionalidad:
Re: Busqueda Secuencial
«
Respuesta #5 en:
Lunes 15 de Febrero de 2010, 22:11 »
0
deberias hacer algo asi:
Código: C#
namespace
Practica_1
{
class
Program
{
static
void
Main
(
string
[
]
args
)
{
//aqui generas la matriz con los numeros aleatoreos
//luego lees del teclado el numero deseado
Console
.
WriteLine
(
BuscaPosicion
(
aki la matriz generada , aqui el numero a buscar
)
)
;
}
static
int
BuscaPosicion
(
int
[
]
A,
int
x
)
{
int
posicion
=
-
1
;
int
i
=
0
;
while
(
(
posicion
==
-
1
)
&&
(
i
<
A
.
Length
)
)
{
if
(
A
[
i
]
==
x
)
{
posicion
=
i
;
}
else
{
i
++;
}
}
return
posicion
;
}
}
}
Cita de: "nordith"
static void Main(string[] args);
//Con o sin el punto y coma despues de args me marca error
despues del void Main() van los { }
y estos contienen el codigo por donde empieza y sale el programa.
otro dato, el bucle que realizas con el while() podrias hacero:
Código: C#
for
(
int
i
=
0
;
i
<
A
;
i
++
)
{
if
(
A
[
i
]
==
x
)
{
posicion
=
i
;
break
;
}
}
return
posicion
;
Saludos
ProfesorX
Moderador
Mensajes: 796
Nacionalidad:
Re: Busqueda Secuencial
«
Respuesta #6 en:
Lunes 15 de Febrero de 2010, 22:12 »
0
Como dije e mi mensaje anterior
usa las etiquetas de [ code][ /code] para que tu codigo sea mas legible
El error es muy simple, hasta podrias haberte dado cuenta si hubieras visto mi declaracion de main en el mensaje anterior, lo que necesitas es poner corchetes despues de main(), y borrar el punto y coma.
Ademas, sugeriria que declares el metodo BuscaPosicion() de tipo static, de esa forma evitarias tener que instanciar la clase Program para poder usar el metodo.
Dicho lo anterior, quedaria asi:
Código: C#
namespace
Practica_1
{
class
Program
{
static
void
Main
(
string
[
]
args
)
//Con o sin el punto y coma despues de args me marca error
{
}
static
int
BuscaPosicion
(
int
[
]
A,
int
x
)
{
int
posicion
=
-
1
;
int
i
=
0
;
while
(
(
posicion
==
-
1
)
&&
(
i
<
A
.
Length
)
)
{
if
(
A
[
i
]
==
x
)
{
posicion
=
i
;
}
else
{
i
++;
}
}
return
posicion
;
}
}
}
NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================
ProfesorX
Moderador
Mensajes: 796
Nacionalidad:
Re: Busqueda Secuencial
«
Respuesta #7 en:
Lunes 15 de Febrero de 2010, 22:14 »
0
me gano la respuesta el compañero tannke
NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================
nordith
Nuevo Miembro
Mensajes: 5
Re: Busqueda Secuencial
«
Respuesta #8 en:
Martes 16 de Febrero de 2010, 03:48 »
0
me pueden explicar un poco mas de for, es necesario el break,
si uso ese al estar buscando el elemento apesar de encontrarlo
no continua su busqeda hasta el final del arreglo
????
tannke
Miembro MUY activo
Mensajes: 152
Nacionalidad:
Re: Busqueda Secuencial
«
Respuesta #9 en:
Martes 16 de Febrero de 2010, 14:56 »
0
jeje te gané pero me quedo con la tuya que esta mucho mejor explicada, yo para ello soy muy malo:
Bueno, te intento explicar el 'for'
primero decirte que en el A me falto el .Length
Código: C#
# for (int i = 0; i < A.Length; i++)
for( variable ; condición ; progresión )
{
sentencia
}
variable:
bueno, es o son, las variables de control, estas son iniciadas en el ambito del for y solo son para este.
condicion:
es una condición booleana (el for se ira repitiendo mientras este sea verdadero)
progresión:
cada vez que se termine de ejecutar el codigo "sentencia" del for, este se ejecuta antes de comprovar la condicion, puede ser... i++; i--; i+=5 lo que necesites.
sentencia:
Codigo que se repetira
Espero te sirva, no se si se entenderá muy bien.
Bueno sobre el break, no es necesario, te lo pose ahi porque, en teoria, una vez encuentras el numero que buscas (y segun tu explicación estos no estan repetidos) pues es tonteria seguir recorriendo la matriz. Imaginate que el nºbuscado es el 1º, para que seguir mirando los demas si ya no estara.
Si lo quitas entonces lo que hará es recorrer toda la matriz.
Observando tu codigo ahora también me di cuenta de un detalle, si el numero no coincide entonces en el elese (sumas 1 a i) pero piensa que ocurre cuando si coincide, asignas i a posicíon pero no incrementas i, por lo que volverias a entrar en el bucle e 'i' volveria a coincidir, por lo que nunca podrias salir del bucle.
Un saludo
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
C#
(Moderador:
ProfesorX
) »
Busqueda Secuencial