Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - tuskito

#1
Programación C/C++ / PRACTICA GRAFOS
8 Junio 2016, 12:35 PM
Hola a todos,

Tengo que realizar la siguiente práctica para la universidad, me gustaría si alguien sabe sobre este tema una guia o los primeros pasos a seguir para poder realizarla, gracias de antemano!, también decir que no se pueden utilizar librerías, hay que implementar las funciones desde cero.

http://fotos.subefotos.com/5104fce9a41ab2769544b70f805bad01o.png
#2
Gracias por toda la ayuda! voy a ello cuando lo tenga lo paso y me decís!




Hola! tengo casi terminada la práctica podría mandarosla por email para que le echarais un ojo? y ayudarme en lo que me falta ?

Un saludo y gracias de antemano! :)
#3
hola!, no habia visto que tenías un tema de lo mismo abierto... no soy el mismo... el codigo vi algo parecido pero no en este foro..y ahora veo que es el mismo... lo habran subido en otro sitio lo vi en otro foro... estoy probando hacer lo que me han dicho en las respuestas de este... sorry no sabia que estaba..
#4
Vale voy a intentarlo jeje muchisimas gracias por la ayuda!! a ver que sale luego te escribo jeje

Código (cpp) [Seleccionar]
#include <stdio.h>
#include <queue>
#include <stdexcept>
#include <stdlib.h>  // srand, rand
#include <iostream>
#include <string>
#include <time.h>

using namespace std;

const unsigned short int G = 0;
const unsigned short int D = 1;
const unsigned short int M = 2;
const unsigned short int I = 3;

struct Vehicle{
   int matricula; // según tu país puede ser numerico o no
   string marca;
   string modelo;
   short unsigned int potencia;
   //enum tipo {G, D, M, I};
   unsigned short int tipo;
   tm hora_llegada;
   tm hora_salida;
   tm fecha;
   enum estado_ITV {BUENO, MALO, REGULAR};
};

void atender(Vehicle v);
Vehicle GeneraVehiculo();
void sleep(unsigned int mseconds);

int main(){

   Vehicle v,vc;
   queue<Vehicle> colas[4];   

   while(true)
   {

      v = GeneraVehiculo();
      printf("Ingresa vehiculo (tipo %d) de matricula %d\n",v.tipo,v.matricula);         

      if (colas[v.tipo].empty())
            atender(v);
      else
      {     
         // atiendo a quien espera en cola
         vc = colas[(int)v.tipo].front();                 
         colas[(int)v.tipo].pop();
         atender(vc);       
         colas[(int)v.tipo].push(v); // encolo al recien llegado
      }     
   }
   return 0;   

}


void sleep(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();
    while (goal > clock());

#5
gracias! hasta ahora tengo el siguiente codigo : (pero implementando librerías).

#include <stdio.h>
#include <queue>
#include <stdexcept>
#include <stdlib.h>  // srand, rand
#include <iostream>
#include <string>
#include <time.h>

using namespace std;

const unsigned short int G = 0;
const unsigned short int D = 1;
const unsigned short int M = 2;
const unsigned short int I = 3;

struct Vehicle{
   int matricula; // según tu país puede ser numerico o no
   string marca;
   string modelo;
   short unsigned int potencia;
   //enum tipo {G, D, M, I};
   unsigned short int tipo;
   tm hora_llegada;
   tm hora_salida;
   tm fecha;
   enum estado_ITV {BUENO, MALO, REGULAR};
};

void atender(Vehicle v);
Vehicle GeneraVehiculo();
void sleep(unsigned int mseconds);

int main(){

   Vehicle v,vc;
   queue<Vehicle> colas[4];   

   while(true)
   {

      v = GeneraVehiculo();
      printf("Ingresa vehiculo (tipo %d) de matricula %d\n",v.tipo,v.matricula);         

      if (colas[v.tipo].empty())
            atender(v);
      else
      {      
         // atiendo a quien espera en cola
         vc = colas[(int)v.tipo].front();                  
         colas[(int)v.tipo].pop();
         atender(vc);        
         colas[(int)v.tipo].push(v); // encolo al recien llegado
      }      
   }
   return 0;   

}


void sleep(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();
    while (goal > clock());


#6
Hola, hace poco que me han enseñado el tema de las colas y ahora tengo que hacer una practica. Se hacer las funciones del tipo: "encolar","imprimir"...

Hasta ahora he hecho colas simples en las clases prácticas, pero esta última no se ni por donde empezar. El enunciado empieza así:

En dicha ITV existirán 4 colas para diferentes tipos de vehículos:
- Gasolina (vehículos de gasolina)
- Diesel (vehículos diesel no industriales)
- Motos
- Industriales

Cada segundo de ejecución, que representará 10 minutos de tiempo real,
llegará un vehículo a la ITV. Dicho vehículo tendrá una serie de datos que
habrá que guardar: matrícula, marca, modelo, potencia, tipo (G,D,M,I),
hora_llegada, hora_salida, fecha, estado_ITV... Los datos se podrán
generar aleatoriamente.

¿Como empiezo? Gracias de antemano. pd: el profesor no deja implementar librerías.