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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda!, Hacer el siguiente algoritmo en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda!, Hacer el siguiente algoritmo en c++  (Leído 1,553 veces)
Alape04

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Ayuda!, Hacer el siguiente algoritmo en c++
« en: 11 Junio 2016, 03:42 am »

Se dispone de una lista de N nombres (20) de alumnos. Escribir un algoritmo que
solicite el nombre de un alumno y busque en la lista (array) si el nombre está en la
lista.

Espero pronta respuesta :D

PD: Estoy comenzando con esto de programar, utilizo el zinjai.


En línea

engel lex
Colaborador
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: Ayuda!, Hacer el siguiente algoritmo en c++
« Respuesta #1 en: 11 Junio 2016, 03:43 am »

donde tienes tu duda y que llevas hecho? (no se hacen tareas)


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.
Alape04

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Ayuda!, Hacer el siguiente algoritmo en c++
« Respuesta #2 en: 11 Junio 2016, 03:47 am »

Pues estuve haciendo lo siguiente.
Me falta es buscar el nombre creo

Código:
#include <stdio.h>
#include <iostream>

using namespace std;

int main()
{
char n1[]="Maria Lucia";
char n2[]="Juan Sebastian";
char n3[]="Jhonatan Miguel";
char n4[]="Jose Raul";
char n5[]="Karen Paola";
char n6[]="Samuel Dario";
char n7[]="Jose Fernando";
char n8[]="Jorge Andres";
char n9[]="Karol Vanessa";
char n10[]="Yefer David";
char n11[]="Denis del Carmen";
char n12[]="Juan Felipe";
char n13[]="Antonio Carlos";
char n14[]="Augusto Daniel";
char n15[]="Laura Vanessa";
char n16[]="Jhovana Sofia";
char n17[]="Daniel Enith";
char n18[]="Laura Camila";
char n19[]="Natalia Sofia";
char n20[]="Cesar Esteban";

int nom;
cout<<("DIGITE NOMBRE QUE DESEA BUSCAR")<<endl;
cout<<("Nombre: ");cin>>nom;


if(strcmp(nom,'n1')==0){
cout << "Aparece en lista." << endl;
}
else {
cout << "No aparece" << endl;
}
return 0;
}
En línea

engel lex
Colaborador
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: Ayuda!, Hacer el siguiente algoritmo en c++
« Respuesta #3 en: 11 Junio 2016, 03:53 am »

uff hombre... te saltaste la clase sobre arreglos! jejeje

está muy mal, realmente mal... tienes que declarar un arreglo bidimensional de tipo char (o un arreglo unidimensinal de tipo string si está paermitido) de 20 de largo y popularlo con los nombres...

recomiendo leer esto
http://sistemas.ing.ula.ve/~m.camejo/tutorial/tutorial/tut3-1.html
http://c.conclase.net/curso/?cap=010

sin contar lo que haces con el strcmp... comparas lo que te dieron con 'n1' (literalmente el texto "n1")

leete esto
http://c.conclase.net/librerias/?ansifun=strcmp

por otro lado te hará falta un ciclo para la búsqueda
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.
Alape04

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Ayuda!, Hacer el siguiente algoritmo en c++
« Respuesta #4 en: 11 Junio 2016, 03:57 am »

Bueno gracias por la ayuda.

Mi pregunta seria, ¿sabes del ciclo de la búsqueda?
En línea

engel lex
Colaborador
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: Ayuda!, Hacer el siguiente algoritmo en c++
« Respuesta #5 en: 11 Junio 2016, 04:03 am »

cualquiera, depende de como quieras implementarlo podrías hacer de esta manera (lo más simple)

Código
  1. for(i=0;i<cantidad_elementos;i++){
  2.  if(strcmp(busqueda,elemento[i]) == 0){
  3.    break;
  4.  }
  5.  if(i==cantidad_elementos){
  6.    cout << "elemento no encontrado" << endl;
  7.  }else{
  8.    cout << "elemento encontrado en posicion" << i << endl;
  9.  }
  10. }
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.
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.580


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Ayuda!, Hacer el siguiente algoritmo en c++
« Respuesta #6 en: 11 Junio 2016, 17:30 pm »

La forma correcta de declarar el arreglo estatico de nombres es:

Código
  1. char *nombres[] = {"Maria Lucia","Juan Sebastian","Jhonatan Miguel""Jose Raul","Karen Paola","Samuel Dario","Jose Fernando","Jorge Andres","Karol Vanessa","Yefer David","Denis del Carmen","Juan Felipe","Antonio Carlos","Augusto Daniel","Laura Vanessa","Jhovana Sofia","Daniel Enith","Laura Camila","Natalia Sofia","Cesar Esteban"};
  2. //Las variables deben ser mas descriptivas, a no se que solo tu vallas a ver el codigo, y aun asi no es recomendable

Respecto al algorimo de busqueda, basandonos en el avance de Engel lex y con algunos cambios quedaria asi:

Código
  1. int encontrado = 0,i  = 0;
  2. while(i<cantidad_elementos){
  3. if(strcmp(busqueda,nombres[i]) == 0){
  4. encontrado = 1;
  5. break;
  6. }
  7. i++;
  8. }
  9. if(encontrado == 1){
  10. cout << "elemento encontrado en posicion" << i << endl;
  11. }else{
  12. cout << "elemento no encontrado" << endl;
  13. }


En línea

Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW
Alape04

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Ayuda!, Hacer el siguiente algoritmo en c++
« Respuesta #7 en: 11 Junio 2016, 19:27 pm »

Gracias, ahora entiendo un poco mas :)


ME QUEDO DE LA SIGUIENTE FORMA Y CORRE EL PROGRAMA :D

Código:
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;

int main() {

char *lista[20]={"Maria Lucia","Juan Sebastian","Jhonatan Miguel","Jose Raul","Karen Paola","Samuel Dario","Jose Fernando","Jorge Andres","Karol Vanessa","Yefer David","Denis del Carmen","Juan Felipe","Antonio Carlos","Augusto Daniel","Laura Vanessa","Jhovana Sofia","Daniel Enith","Laura Camila","Natalia Sofia","Cesar Esteban"},lista2[25];

cout<<("Escriba el nombre del alumno\n")<<endl;
gets(lista2);

int encontrado= 0,i= 0;
while(i<20){
if(strcmp(lista2,lista[i]) == 0){
encontrado = 1;
break;
}
i++;
}
if(encontrado == 1){
cout << "El alumno se encuentra en la lista"<<endl;
}else{
cout <<"El alumno no se encuentra registrado en la lista."<<endl;
}

   return 0;
}

« Última modificación: 11 Junio 2016, 19:49 pm por Alape04 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines