Foros del Web » Programación para mayores de 30 ;) » Programación General »

Encontrar un elemento en un arreglo C

Estas en el tema de Encontrar un elemento en un arreglo C en el foro de Programación General en Foros del Web. Hola amigos, se que aquí entre los usuarios del foro hay muchas personas expertas en diversos temas; ojalá haya alguien que me pueda ayudar con ...
  #1 (permalink)  
Antiguo 03/09/2005, 00:15
 
Fecha de Ingreso: septiembre-2005
Mensajes: 3
Antigüedad: 19 años, 2 meses
Puntos: 0
Exclamación Encontrar un elemento en un arreglo C

Hola amigos, se que aquí entre los usuarios del foro hay muchas personas expertas en diversos temas; ojalá haya alguien que me pueda ayudar con una tarea que tengo.

El problema es este:

Hacer un programa en c que haga lo siguiente:

a) Cargar un arreglo de 20 elementos.
b) Que lo imprima en la pantalla mas o menos así:



*los numeros blancos indican el numero de elemento, índice o como se llame; y los verdes son los valores en si.

c) Leer un valor x a buscar.
d) Indicar si el elemento se encontró y decir en que posición, de lo contrario mostrar un mensaje.
e) Usar un while o un do while para poder seguir ejecutando (algo asi como “¿quieres buscar otro número? S/N”).

Espero su ayuda lo antes posible.

Esto es lo que ya tengo hecho:

#include <stdio.h>

int main()
{
int i;
int Arreglo[20]={2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,3 6,38,40};

jejeje
  #2 (permalink)  
Antiguo 03/09/2005, 04:41
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
A mi parecer eso no es un problema sino una tarea.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 03/09/2005, 07:16
Avatar de Max13  
Fecha de Ingreso: octubre-2000
Ubicación: Mx
Mensajes: 1.229
Antigüedad: 24 años
Puntos: 0
Además de una tarea muy sencilla que con un poco de esfuerzo se resuelve.
  #4 (permalink)  
Antiguo 03/09/2005, 10:31
 
Fecha de Ingreso: agosto-2005
Mensajes: 1
Antigüedad: 19 años, 3 meses
Puntos: 0
Hola alberto mx, resulta que yo tb estoy aprendiendo C, y he visto tu ejercicio y lo he hecho xD, te dejo el codigo haber que te parece, hay una parte que me he "rallado" un poco pero era para que cuando salieran las posiciones y los numeros en la pantalla quedara mas centrado

Código:
/*
a) Cargar un arreglo de 20 elementos.
b) Que lo imprima en la pantalla mas o menos así:
*los numeros blancos indican el numero de elemento, índice o como se llame; y los verdes son los valores en si.
c) Leer un valor x a buscar.
d) Indicar si el elemento se encontró y decir en que posición, de lo contrario mostrar un mensaje.
e) Usar un while o un do while para poder seguir ejecutando (algo asi como “¿quieres buscar otro número? S/N”).
*/

#include <stdio.h>

int elementos[20]; //creamos un array de 20 posiciones /0-19/

int mirarvalor(int x); //creamos funcion encargada de ver si el numero existe y de dar la posicion

void main() //llamamos a la funcion principal
{	

int numero;	//variable que guarda el numero indicado por el user
int resultado; //guarda el resultado que de la funcion mirarvalor
char opcion=0; //opcion de salir o buscar otro numero
int i=0,z=0; //i y z usada en el for para entrar en cada posicion del array
int x=0; //x guarda el valor para crear el arreglo de 20 elementos /2-40/

for (i=0;i<20;i++) 
	{
		x=x+2;					//primero se crean los numeros (pares) dentro de cada posicion del array
		elementos[i]=x;
		printf(" (%d) ", i); //las posicion se representan co (1) para diferenciar
		if (i==9)   //cuando llega a la posicon 9, hago que se muestren el contenido
			{
				printf("\n");
				for (z=0;z<5;z++) //muestro el contenido
				{
					printf("  %d  ", elementos[z]);
				}
					for (z=5;z<10;z++) //muestro el contenido, pero dejo un espacio mas para que quede mas cuadrado todo
				{
					printf("  %d ", elementos[z]);
				}
				printf("\n");
			}
		//al salir del if, el primer for seguria haciendo el trabajo de crear los numeros pares, 
		//ya que lo habiamos parado en la posicion del array 9
	}
printf("\n");

for (z=10;z<20;z++) //por ultimo sigue mostrando los numeros hasta la posicion 20
			{	
		printf("  %d  ", elementos[z]);
			}

printf("\n");

do //realizamos el do-while para que cuando no ponga s/S salga del programa
	{	
	fflush(stdin);
	printf("Elija un numero a buscar: ");
	scanf("%d", &numero);
	fflush(stdin);
	resultado=mirarvalor(numero); //lamamos a la funcion mirarvalor y le pasamos el numero

	if (resultado!=-1) //si nos da algo distinto a -1 es que ha ido bien
	{
		printf("El numero %d existe, se encuentra en la posicion %d\n\n",numero, resultado);
	}
	else //si nos da -1 es que no ha encontrado el numero
	{
		printf("No existe el numero indicado\n");
	}
	printf("Desea buscar otro numero? S/N: ");
	scanf("%s", &opcion);
	fflush(stdin);

}while(opcion=='s' || opcion=='S'); //en caso de que la opcion sea s, continua con el do

}

//funcion mirarvalor
int mirarvalor(int x)
{
	//vamos a ver si se encuentra un valor
	int i=0;						//buscamos en el array y si en alguna posicion encuentra el numero indicado,
	int z=-1;							//da como retorno el valor de la posicion y si no encuentra z vale -1 
	for (i=0;i<20;i++)
		{
			if (elementos[i]==x)
			{
				z=i;
			}
		}
		return z;
}
  #5 (permalink)  
Antiguo 03/09/2005, 14:50
 
Fecha de Ingreso: septiembre-2005
Mensajes: 3
Antigüedad: 19 años, 2 meses
Puntos: 0
orale, me has sorprendido, lo pruebo y te digo mi opinion, muchas gracias!, me has salvado la vida.
  #6 (permalink)  
Antiguo 03/09/2005, 18:28
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
yo diria que al contrario, porque asi nunca seras un buen programador...... Pero bueno, espero que tambien lo piensen 2 veces los resuelve-tareas aqui.

Saludos
  #7 (permalink)  
Antiguo 03/09/2005, 22:41
 
Fecha de Ingreso: septiembre-2005
Mensajes: 3
Antigüedad: 19 años, 2 meses
Puntos: 0
Exclamación

Yo digo que no hay que ser tan rigidos, desde luego que no me baje el codigo y lo guarde en mi computadora asi no mas, lo he estado revisando para ver como es que funciona y para "jugar" con algunas otras variantes que se le podrian hacer.

Además he estado leyendo todo lo de los bucles para poder entender mejor. Creo que todos necesitamos un poco de apoyo.

No me digan que ninguno de ustedes a bajado alguna vez un codigo fuente para ver como funciona y despues poder aplicar en otros proyectos cosas que ahi vieron.

Disculpen si era muy sencillo el ejercicio, pero es que apenas doy los primeros pasos en esto; prometo no volver a molestarlos.

Última edición por alberto mx; 03/09/2005 a las 22:50
  #8 (permalink)  
Antiguo 04/09/2005, 09:24
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Cita:
No me digan que ninguno de ustedes a bajado alguna vez un codigo fuente para ver como funciona y despues poder aplicar en otros proyectos cosas que ahi vieron.
Por supuesto, bajamos codigo ya hecho, de cosas parecidas pero hasta donde recuerdo nunca un codigo que haga exactamente lo que quiero.......Siempre hay que modificarle algo.

Pero bueno, si dices que realmente estudias el codigo, pues esta mejor.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:26.