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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Ejercicio en C ayuda struct,tabla,vector datos en: 10 Noviembre 2015, 01:09 am
esto es lo q hice por ahora :s

Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define N 6

struct datos
{
    int id;
    char apellido[20];
    float mejorTiempo;
};

main(){
    struct datos vecNad[N];     //vecNad es el vector de datos de nadadores
    float t, matTiem[N][4];     //matTiem es la tabla de tiempos
    int vecPos[N], cantidad=0;

    cargarNad(vecNad);  //no desarrollar
    cargarTiempo(matTiem);      //no desarrollar

    cargarMejorTiempo(vecNad,matTiem);  //desarrollar (buscar minimo)

    inicializaPos(vecPos);  //no desarrollar

    leer(&t); //desarrollar (?)
    supera(vecNad, vecPos, t, &cantidad);   /*Desarrollar, almacenara en el array vecPos las posiciones de los
struct cuyos tiempos sean mejor a 't' y almacena en cantidad un entero indicando cuantos struct de vecNad superan a 't'.*/

    emitir(vecNad, vecPos, cantidad);       //Desarrollar, solo emite los struct con mejores tiempos
    ordenaxnombre(vecNad,N);        //Desarrollar, ordena por apellido de nadador

    emite(vecNad);      //no desarrollar

    return 0;
}

cargarNad(vecNad) ///me tira error linea 86,88 y 101, "error subscripted value is neither array nor pointer nor vector"
{
int i;
for(i = 0; i < N; i++)
    {
    printf("Ingresar id");
    scanf("%d",&vecNad[i].id);
    printf("Ingresar apellido");
    scanf("%c",&vecNad[i].apellido);
    }
}

cargarTiempo(matTiem)
{
int minimo=0,i,j;

for(i=0;i<N;i++)
    {
        for(j=0;j<=4;j++)
        {
        printf("Ingresar Tiempo del nadador%d\n competencia%d\n", i,j);
        scanf("%d",&matTiem[i][j]);
        }
    }
}

cargarMejorTiempo(vecNad,matTiem)
{
int matTiem[N][4];
int i,minimo=matTiem[0][0];

for(i = 0; i < N; i++)
    {
        for(j=0;j <= 4; j++)
        {
        if(matTiem[i][j]<minimo)
            {
            minimo=matTiem[i][j];
            }
        }
    }
}

void leer(float *time) ///esta bien??
{
    printf("Ingresar tiempo: \n");
    scanf("%f", t);
    *time=t;
}

supera(vecNad, vecPos, t, *cant) ///No entendi
{
    for(i=0;i<N;i++)
    {
        if(vecPos[i]<t)
        {
            vecPos[i]=vecPos[i]+t
        }
    }

    asdasdasdasd



}

emitir(vecNad, vecPos, cantidad)       ///No se como hacer
{
}

ordenaxnombre(vecNad,N) ///no se si está bien
{
    struct vecNad[N];
    struct datos aux;
    int i,j,r;

    for(i=0;i<=20;i++)
        for(j=i+1;j<50;j++)
    {
        r=strcmp(vecNad[i].apellido, vecNad[j].apellido);
        aux = vecNad[i];
        vecNad[i] = vecNad[j];
        vecNad[j] = aux
    }

}
2  Programación / Programación C/C++ / Ejercicio en C ayuda struct,tabla,vector datos en: 6 Noviembre 2015, 01:07 am
hola, no sabia donde recurrir, ya q mi profesor no nos dijo muy bien como hacer este ejercicio... quizá alguien de acá si, me estarían ayudando demasiado.  :D
me cuesta mucho sin ejemplos :c


un entrenador de natacion debe elegir sus mejores nadadores para participar de una competencia internacional. Para ello, le solicita a Ud. un
programa que le permita obtener una informacion respecto de sus tiempos, considerando por cada nadador un conjunto de datos, tipo struct:

struct datos {ID de tipo int
      Apellido de tipo char[15]
      MejorTiempo de tipo float};

Al construir el programa, los datos de los nadadores se almacenan en un vector de N struct sin el mejor tiempo. Ejemplo (para N=6):

1            2             3           4             5           6
Garcia   Triestre   Hanson   Donan   Alvarez   Diaz


Ademas por cada nadador se almacenan sus tiempos de las ultimas 4 competencias en una tabla de N filas por 4 columnas. Ejemplo (para N=6)

                 Comp1     Comp2      Comp3      Comp4

Nadador1   240.00      292.00      214.00      292.00

Nadador2   250.00      174.00      160.00      224.00

Nadador3   289.00      261.00      184.00      280.00

Nadador4   253.00      237.00      268.00      192.00

Nadador5   254.00      253.00      159.00      161.00

Nadador6   151.00      233.00      198.00      199.00




Construir solo las funciones que indican 'desarrollar'


---


main(){
struct datos vecNad[N];    //vecNadd es el vector de datos de nadadores;
float t, matTiem[N][4];      //matTiem es la tabla de tiempos;
int vecPos[N], cantidad=0;

cargarNad(vecNad);    
cargarTiempo(matTiem);   

cargarMejorTiempo(vecNad,matTiem);   //desarrollar (buscar el minimo tiempo)

inicializaPos(vecPos);   

leer(&t);    //desarrollar

supera(vecNad, vecPos, t, &cantidad);   //desarrollar, almacenará en el array vecPos las posiciones de los struct cuyos
tiempos sean mejor a 't' y almacena en cantidad un entero indicando cuántos struct de vecNad speran a t.

emitir(vecNad, vecPos, cantidad);   //desarrollar, solo emite los struct con mejores tiempos

ordenaxnombre(vecNad,N)      //desarrollar, ordena por apellido de nadador

emite(vecNad);      

return 0;}

}


estaria muy agredecido si pudieran ayudarme !
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines