elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  planteamiento de problema
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: planteamiento de problema  (Leído 5,834 veces)
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
planteamiento de problema
« en: 2 Julio 2013, 03:59 am »

Saludos, tengo que hacer el siguiente programa que dice:

 Inicializar dos matrices, la primera tendra 5 escuelas y la segunda sus respectivas ciudades.
   Pedir una escuela a buscar y si se encuentra imprimir la ciudad donde se encuentra, si no se encuentra
   imprimir el letrero respectivo. Pedir una ciudad a buscar y si se encuentra imprimir las escuelas de
   dicha ciudad, si no se encuentra imprimir el letrero respectivo.

El problema es que creo que esta mal planteado y no se como exactamente quiere que haga las matrices, me dice que en una matriz ingrese 5 escuelas pero eso no seria mas bien un vector???? y luego me dice que si le doy una ciudad a buscar me tiene que imprimir las escuelas de dicha ciudad, pero que no eran 5 escuelas cada una con su respectiva ciudad, no entiendo lo que me quiere decir si alguien me pudiera ayudar a entender

de antemano gracias


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: planteamiento de problema
« Respuesta #1 en: 2 Julio 2013, 04:02 am »

bueno... 2 matrices de una dimensión XD (o tal vez asume que como son arrays de arrays de caracteres, son metrices (?) digo yo)


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
Re: planteamiento de problema
« Respuesta #2 en: 2 Julio 2013, 04:47 am »

si creo que se refiere mas a dos listas una con las escuelas y otra con las ciudades, pero tengo una ultima duda. Por cada ciudad tengo que ponerle 5 escuelas o son solo 5 escuelas y cada una con su ciudad respectiva???
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: planteamiento de problema
« Respuesta #3 en: 2 Julio 2013, 05:06 am »

analizando tu pregunta me da que las ciudades es un vector y las escuelas una matriz...

Citar
Pedir una ciudad a buscar y si se encuentra imprimir las escuelas

varias por cada ciudad
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: planteamiento de problema
« Respuesta #4 en: 2 Julio 2013, 08:38 am »

También podrías tratarlo como un vector usando estructuras.
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: planteamiento de problema
« Respuesta #5 en: 2 Julio 2013, 16:54 pm »

Lo primero que debes indicar es el lenguaje de programación.

Inicializar dos matrices, la primera tendra 5 escuelas y la segunda sus respectivas ciudades.
Si se trata de C, Mas o menos así:
Código
  1. char *escuela[] = {
  2.   "Lopez Portillo",
  3.   "Miguel De la Madrid",
  4.   ...
  5. };
  6. char *ciudad[] = {
  7.   "Guadalajara",
  8.   "Guadalajara",
  9.   "Monterrey",
  10.   ...
  11. };
Los nombres de las escuelas deben ser únicos, los de las ciudades no.

Pedir una escuela a buscar y si se encuentra imprimir la ciudad donde se encuentra, si no se encuentra imprimir el letrero respectivo.
Eso lo implementas con un bucle:
Código
  1. for (i = 0; i < 5 && strcmp(escuela[i], buscar) != 0; i++)
  2.   ;
  3. if (i != 5){
  4.   /* Imprimir la ciudad con indice "i" */
  5. }else {
  6.   /* Indicar que la escuela no se encontro */
  7. }

Pedir una ciudad a buscar y si se encuentra imprimir las escuelas de dicha ciudad, si no se encuentra imprimir el letrero respectivo.
Un bucle donde recorres el array de ciudades, si coincide la imprimes y tomas nota con una bandera. Al final del bucle revisas la bandera para conocer si al menos una ciudad coincidió:
Código
  1. existe = 0;
  2. for (i = 0; i < 5; i++)
  3.   if (strcmp(ciudad[i], buscar) == 0){
  4.      existe = 1;
  5.  
  6.      /* La ciudad existe, imprimir la escuela correspondiente */
  7.   }
  8. if (!existe){
  9.   /* Indicar que la ciudad no existe en el array */
  10. }

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: planteamiento de problema
« Respuesta #6 en: 2 Julio 2013, 17:10 pm »

Si se trata de C, Mas o menos así:
Código
  1. char *escuela[] = {
  2.  "Lopez Portillo",
  3.  "Miguel De la Madrid",
  4.  ...
  5. };
  6. char *ciudad[] = {
  7.   "Guadalajara",
  8.   "Guadalajara",
  9.   "Monterrey",
  10.   ...
  11. };
Los nombres de las escuelas deben ser únicos, los de las ciudades no.

Y ahí exactamente cómo sabes qué escuelas se encuentran en cada ciudad ???

Aparte que no tengo yo muy claro que las ciudades deban repetir nombres... si tienes que poner el nombre de una ciudad e indicar las escuelas que se encuentran en dicha ciudad... cómo distingues entre dos ciudades que se llaman igual ???

Para hacer eso necesitas listas enlazadas

Código
  1. struct escuela
  2. {
  3.  char nombre[ 20 ];
  4. };
  5.  
  6. struct ciudad
  7. {
  8.  char nombre[ 20 ];
  9.  int num_escuelas; // para saber cuantas escuelas tiene la ciudad actual
  10.  struct escuela *escuelas[10]; // lista de punteros
  11. };
  12.  
  13. struct escuela escuelas[ 10 ]; // Lista para las escuelas
  14. struct ciudad ciudades[ 10 ]; // Lista de ciudades
  15.  

o algo así... pero dos vectores inconexos sin otro que los relacione... no se
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: planteamiento de problema
« Respuesta #7 en: 2 Julio 2013, 17:48 pm »

Y ahí exactamente cómo sabes qué escuelas se encuentran en cada ciudad ???
Me parece que se trata de un ejercicio sencillo, la parte clave del enunciado es:
Citar
Inicializar dos matrices, la primera tendra 5 escuelas y la segunda sus respectivas ciudades.
Yo supongo se deben declarar dos arrays de arrays de caracteres (usualmente los llaman "matrices"). El primero contiene los cinco nombres de las escuelas y el segundo los cinco nombres de las ciudades. Para conocer la escuela o ciudad correspondiente basta con utilizar el mismo indice.

Siendo estrictos la declaración de los arrays debería ser mas o menos así:
Código
  1. char escuela[5][20] = {
  2.   "Lopez Portillo",
  3.   "Miguel De la Madrid",
  4.   "Lopez Mateos",
  5.   "Benito Juarez",
  6.   "Miguel Hidalgo"
  7. };
  8. char ciudad[5][20] = {
  9.   "Guadalajara",
  10.   "Guadalajara",
  11.   "Monterrey",
  12.   "Monterrey",
  13.   "Merida"
  14. };

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: planteamiento de problema
« Respuesta #8 en: 2 Julio 2013, 18:24 pm »

Me parece que se trata de un ejercicio sencillo, la parte clave del enunciado es:Yo supongo se deben declarar dos arrays de arrays de caracteres (usualmente los llaman "matrices"). El primero contiene los cinco nombres de las escuelas y el segundo los cinco nombres de las ciudades. Para conocer la escuela o ciudad correspondiente basta con utilizar el mismo indice.

Siendo estrictos la declaración de los arrays debería ser mas o menos así:
Código
  1. char escuela[5][20] = {
  2.   "Lopez Portillo",
  3.   "Miguel De la Madrid",
  4.   "Lopez Mateos",
  5.   "Benito Juarez",
  6.   "Miguel Hidalgo"
  7. };
  8. char ciudad[5][20] = {
  9.   "Guadalajara",
  10.   "Guadalajara",
  11.   "Monterrey",
  12.   "Monterrey",
  13.   "Merida"
  14. };

Un saludo

Eso si, yo me refiero a la parte de...

Pedir una escuela a buscar y si se encuentra imprimir la ciudad donde se encuentra, si no se encuentra imprimir el letrero respectivo.

Y

Pedir una ciudad a buscar y si se encuentra imprimir las escuelas de dicha ciudad, si no se encuentra imprimir el letrero respectivo.


Ahí tienes que relacionar las escuelas con las ciudades y viceversa... en tu ejemplo eso no está contemplado ;)
En línea

CCross

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: planteamiento de problema
« Respuesta #9 en: 2 Julio 2013, 21:31 pm »

Pedir una escuela a buscar y si se encuentra imprimir la ciudad donde se encuentra, si no se encuentra imprimir el letrero respectivo.

Creo que que el amigo rir3760 ya propuso una solución, siendo estricto seria algo como esto

Código
  1. int i, existe = 0;
  2.    char buscar[20] = "";
  3.  
  4.    scanf("%[^\n]s", buscar);
  5.  
  6.    for(i = 0; i < 5; i++){
  7.        if(strcmp(escuela[i], buscar)==0){
  8.          existe = 1;
  9.          printf("Ubicacion: %s", ciudad[i]);
  10.        }
  11.    }
  12.    if(!existe)
  13.        printf("Escuela no encontrada\n");
  14.  

Pedir una ciudad a buscar y si se encuentra imprimir las escuelas de dicha ciudad, si no se encuentra imprimir el letrero respectivo.

Y la solucion a esta no varia mucho respecto a la anterior

Código
  1. int i, existe = 0;
  2.    char buscar[20] = "";
  3.  
  4.    scanf("%[^\n]s", buscar);
  5.  
  6.    for(i = 0; i < 5; i++){
  7.        if(strcmp(ciudad[i], buscar)==0){
  8.          existe = 1;
  9.          printf("%s\n", escuela[i]);
  10.        }
  11.    }
  12.    if(!existe)
  13.        printf("No existe Escuela en esa ciudad\n");
  14.  

Saludos
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Planteamiento de listas de reproducción en una web de musica
Desarrollo Web
H4RR13R 3 3,758 Último mensaje 10 Junio 2010, 06:06 am
por Nakp
Planteamiento , red para un centro ( ayuda )
Redes
XXXXXX 2 2,912 Último mensaje 16 Mayo 2012, 08:32 am
por XXXXXX
Desactivar voltaje USB (planteamiento desde otro punto de vista)
Programación General
Haskell++ 2 3,659 Último mensaje 6 Septiembre 2012, 02:29 am
por sistemx
No entiendo planteamiento de un Thread
Java
Zoik 2 1,737 Último mensaje 11 Septiembre 2013, 12:20 pm
por Zoik
Planteamiento del problema
Programación General
dark_headhunter 1 1,859 Último mensaje 8 Septiembre 2016, 08:13 am
por Zeros1001
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines