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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


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

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Ejercicio
« en: 10 Enero 2015, 12:55 pm »



No sé como se hace este ejercicio, ¿me podrían echar una mano?


« Última modificación: 10 Enero 2015, 12:57 pm por maikelowen » En línea

SrCooper

Desconectado Desconectado

Mensajes: 137


Bazinga!


Ver Perfil
Re: Ejercicio
« Respuesta #1 en: 10 Enero 2015, 13:16 pm »

1.- ¿Este ejercicio lo tienes que hacer en C o en C++? Porque la cosa cambia bastante...

2.- Resolvemos y aclaramos dudas, pero no hacemos tareas, escribe por lo menos lo que llevas hecho, como has pensado que podrías resolverlo, si hay algo que no sabrías muy bien como hacer, etc. Intenta que parezca que por lo menos te has esforzado en pensar como resolverlo y no vienes aquí simplemente para que te hagan la tarea.


Dejando esto aparte, si he comprendido bien tienes que hacer una función que coja un vector y su longitud, lea la entrada del teclado y busque lo que ha leído en el vector, para después modificarlo, ¿no? Lo primero sería definir la estructura para guardar la información de cada corredor. Eso es bastante básico.

Después, la cosa varia entre C y C++. En C++ el vector se representaría con std::vector. En C probablemente tendrías que usar punteros y realocar el tamaño en memoria para añadir los nuevos corredores.

Un saludo


En línea

maikelowen

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Ejercicio
« Respuesta #2 en: 10 Enero 2015, 14:57 pm »

estoy pillado aqui ;(
Uso c++

No tengo problema con lo de subir las carreras si en la nueva carrera el corredor vuelve a participar. Pero cuando hay nuevos corredores no se añadirlos al array que tenia.Se supone que el tamaño lo aumentaré cuando haya un nuevo corredor... pero como meto esos datos exactamente en el tamaño que he creado ?¿¿?¿¿??¿
Código
  1. /*
  2.  * File:   main.cpp
  3.  * Author: owen
  4.  *
  5.  * Created on 10 de enero de 2015, 13:36
  6.  */
  7.  
  8. #include <cstdlib>
  9. #include <iostream>
  10.  
  11. using namespace std;
  12.  
  13.  
  14. struct corredor {
  15.  
  16.    string dni;
  17.    int carreras;
  18.  
  19.  
  20. };
  21.  
  22.  
  23.  
  24. void funcion(corredor c[],int tam){
  25.  
  26.  
  27.    int participantes;
  28.  
  29.    cout<<"Participantes nueva carrera: ";
  30.    cin>>participantes;
  31.  
  32.    corredor *nuevo = new corredor [tam];
  33.  
  34.  
  35.  
  36.    for(int i=0;i<participantes;i++){
  37.        cout<<"Introduce dni: ";
  38.        cin>>nuevo[i].dni;
  39.  
  40.        for(int j=0;j<tam;j++){
  41.            if(nuevo[i].dni==c[j].dni){
  42.                c[j].carreras++;
  43.            }
  44.  
  45.        }
  46.  
  47.  
  48.  
  49.        cout<<"Introduce carreras: ";
  50.        cin>>nuevo[i].carreras;
  51.  
  52.  
  53.    }
  54.  
  55.  
  56.  
  57.  
  58.  
  59.    cout<<endl;
  60.    cout<<"<-------------------------------->"<<endl;
  61.  
  62.    for(int i=0;i<tam;i++){
  63.  
  64.        cout<<"dni: "<<c[i].dni<<endl;
  65.        cout<<"carreas: "<<c[i].carreras<<endl;
  66.        cout<<endl;
  67.  
  68.    }
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81. }
  82.  
  83.  
  84. int main(int argc, char** argv) {
  85.  
  86.  
  87.    // Establezco un tamaño en principio de 2, que puede que varie o que no
  88.    int tam=2;
  89.  
  90.    corredor *c = new corredor [tam];
  91.  
  92.    for(int i=0;i<2;i++){
  93.  
  94.  
  95.        cout<<"corredor numero "<<i<<": "<<endl;
  96.  
  97.        cout<<"Introduce dni: ";
  98.        cin>>c[i].dni;
  99.        cout<<"Introduce carreras: ";
  100.        cin>>c[i].carreras;
  101.        cout<<endl;
  102.  
  103.    }
  104.  
  105.    // Le paso el array de corredores a la funcion
  106.  
  107.  
  108.    funcion(c,tam);
  109.  
  110.  
  111.  
  112. }
  113.  

Mod: Usa etiquetas GeSHi cuando publiques código
« Última modificación: 10 Enero 2015, 20:02 pm por engel lex » En línea

SrCooper

Desconectado Desconectado

Mensajes: 137


Bazinga!


Ver Perfil
Re: Ejercicio
« Respuesta #3 en: 12 Enero 2015, 20:45 pm »

Bien, si estás usando C++ y necesitas arrays de tamaño variable, deberías usar std::vector. La cosa se simplifica mucho, mira:

Lo primero, incluyes la libería:
Código
  1. #include <vector>

El vector se crea así:
Código
  1. std::vector<corredor> corredores;

Ahora mismo el vector tiene tamaño 0. Para incrementar su tamaño y a la vez añadir un elemento usas el método push_back:
Código
  1. corredor c;
  2. c.dni = "Lo que sea";
  3. c.carreras = 2;
  4.  
  5. corredores.push_back(corredor);

Cuando pases el vector como parámetro de una función no hace falta que incluyas el tamaño, pues el vector tiene un método que te permite conocerlo. De este modo, para iterar sobre un vector se pude hacer así:
Código
  1. for (int i = 0; i < corredores.size(); ++i) {
  2.    //Puedes hacer los cambios que quieras como si se tratase de cualquier otro array
  3.   corredores[i] = ;
  4. }

Te recomendaría que le echases un vistazo tranquilamente a la clase vector, e intentases volver a escribir tu programa utilizandola. Si tienes algún problema o hay algo que no entiendes no dudes en publicarlo por aquí.

Un saludo :D

PD: Siento la tardanza, estaba sin ordenador  :xD
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ejercicio 506
Ejercicios
ieman 0 3,796 Último mensaje 13 Mayo 2005, 17:42 pm
por ieman
Ejercicio en C
Ejercicios
ߣ@î§ 3 10,656 Último mensaje 4 Septiembre 2005, 06:31 am
por ߣ@î§
Help Ejercicio 122 en C
Ejercicios
ANELKAOS 4 4,938 Último mensaje 15 Septiembre 2005, 23:41 pm
por Arcangel_RZ
[Ejercicio] Aca tienen un ejercicio para practicar « 1 2 3 »
Programación Visual Basic
Dreamaker 20 15,856 Último mensaje 5 Septiembre 2010, 02:57 am
por TGa.
ejercicio conclase pag 70 ejercicio 1
Programación C/C++
flony 2 4,330 Último mensaje 17 Octubre 2010, 12:16 pm
por Akai
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines