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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


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

Desconectado Desconectado

Mensajes: 1


Ver Perfil
CONVOY DE CARROS PROYECTO URGENTE!
« en: 30 Agosto 2013, 04:24 am »

Un convoy de vehículos está alineado en una calle de un solo sentido y de un solo carril frente a un puente vehicular, de las mismas características que la calle, y que se encuentra sobre un río. Note que cómo la calle sólo tiene un carril, ningún vehículo puede rebasar a otro. El puente puede soportar un peso máximo w. Para controlar el tráfico en el puente hay operadores en ambos lados. El convoy de autos es dividido en grupos, de tal manera que todos los vehículos del grupo pueden atravesar el puente al mismo tiempo. Cuando un grupo alcanza el otro lado del puente, el operador de ese lado usa un teléfono para confirmar al otro operador que el siguiente grupo puede pasar. El peso de cada vehículo es conocido. La suma de los pesos de los vehículos en cada grupo no puede exceder el peso máximo que el puente puede soportar. Cada vehículo tiene una velocidad máxima con la que puede atravesar el puente. El tiempo que le toma a un grupo de vehículos atravesar el puente es calculado como el tiempo que tarda el vehículo más lento del grupo. El problema consiste en encontrar la mínima cantidad de tiempo en la cual el convoy entero puede atravesar el puente.
Entrada
Este programa debe recibir varias entradas. Primero, tres números enteros positivos separados por espacios: el primero de los números representa el máximo peso (en toneladas) que el puente puede soportar; el segundo representa la longitud del puente (en km); y el tercero es el número de vehículos n en el convoy. A continuación el programa debe preguntar n veces por dos números enteros positivos w y s, que serán ingresados al mismo tiempo separados pos un “-”, donde w es el preso del vehículo (en toneladas) y s es la velocidad máxima (en km/h) con la que el vehículo puede atravesar el puente.
Salida
La salida del programa debe ser un simple número real que especifique el tiempo mínimo (en minutos) que le toma al convoy atravesar el puente.

HE TRATADO DE ARMAR LOS GRUPOS PERO NO ME SALE
#include<stdio.h>
#include<stdlib.h>
float opciones(float temp [],int j,int L, int i){
   
   int q,k;
   float cambio,t;
   for(q=j;q<i-1;q++)
   {
      for(k=j+1;k<i;k++)
      {
         if(temp[q]>temp[k])
         {cambio=temp[q];
         temp[q]=temp[k];
         temp[k]=cambio;
         
         }
      }
      
   }
   t=60*(L/temp[j]);
   
   return t;
   
   }
float vel(float temp[],int j,int L,int i,int z){
   float t;
   
   if(z==1){
   j=0;
   t=opciones(temp,j, L, i); 
   }else{
   t=opciones(temp,j,L,i);   
   }
      
    return t;
         
   }
   
   
int main(){
  int W,L,n,j=0,i=0,q,k,z=0;
  float peso=0,temporal,t,tiempo=0;

 
   printf("Dame el peso maximo del puente W:\n");
   scanf("%d",&W);
   printf("\nDame la longitud del puente L:\n");
   scanf("%d",&L);
   printf("\nDame el numero de carros del convoy:\n");
   scanf("%d",&n);
   printf("\nDame el peso w y velocidad de cada carro separados por un guion:\n");
   float w[n],v[n],temp[n];
    for(i=0;i<n;i++){
   puts("--------------------------");
   printf("\nAuto numero %d:\n",i+1);
   scanf("%f-%f",&w,&v);}
   
   printf("\nchingaaa%d,\n",i);
   i=0;
   while(j<=n){
   
   
   peso=peso+w[j];
   
         
   printf("\npeso%f:\n",peso);
   if(peso<=W){
   temp[j]=v[j];
   printf("\n temporal: %f,\n",temp[j]);
   j++;
   printf("\njdentro%d,\n",j);
   i++;
   printf("\ni dentro%d,\n",i);
   
   puts("--------------------------------------");
   }else{
      z++;
      printf("\nzelse:%d,\n",z);
      t=vel(temp,j,L,i,z);
      if(j==n-1 && n%n==0){
      i=1; z++; temp[j]=v[j];
      t=vel(temp,j,L,i,z);
      }
      peso=0;
      i=0;
      tiempo=tiempo + t;
      
      }
   
   }
   
   
   printf("\nTIEMPO ES:%f\n",tiempo);
   
         
   
   return 0;
   }
   
   
   Ejemplo de entrada
100 5 10
40 25
50 20
50 20
70 10
12 50
9 70
49 30
38 25
27 50
19 70
Ejemplo de salida
78.0

ayudenme porfavor!!


En línea

flony


Desconectado Desconectado

Mensajes: 584



Ver Perfil
Re: CONVOY DE CARROS PROYECTO URGENTE!
« Respuesta #1 en: 30 Agosto 2013, 17:20 pm »

hola acá tenes una idea simple de la cuestión
esta hecha en c++
Código:
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

int main()
{

//declaracion de variables
int maximo_peso, longuitud, numero_vehiculos, peso_vehiculos, velocidad_maxima_vehiculo;
int aux=0, aux1=0, aux2=0;
//ingreso primera parte de datos
cout<<"ingrese peso maximo permitido, longuitud del puente y numero de vehiculos"<<endl;
cin>>maximo_peso;
cin>>longuitud;
cin>>numero_vehiculos;
cout<<maximo_peso<< " " <<longuitud<<" "<<numero_vehiculos<<endl;

//parte del while
do
{
cout<<"ingrese el peso del vehiculo y velocidad"<<endl;
cin>>peso_vehiculos;
cin>>velocidad_maxima_vehiculo;
cout<<peso_vehiculos<<"-"<<velocidad_maxima_vehiculo;

if (aux1<=velocidad_maxima_vehiculo)
{
aux1=velocidad_maxima_vehiculo;
};


if ((aux+peso_vehiculos)<=maximo_peso)
{
aux=aux+peso_vehiculos;
}
else
{
cout<<"los minutos que se necesitan para cruzar el puente es"<<endl;
cout<<aux1*longuitud/60<<endl;
break;
};
cout<<"el peso hasta ahora es:"<<aux<<endl;
aux2++;
} while (aux2<=numero_vehiculos);
cin.sync();
cin.get();
return 0;
}




En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Software para PARQUEADERO DE CARROS y MOTOS
Software
wekyta 2 5,434 Último mensaje 26 Agosto 2010, 20:58 pm
por simorg
Ayuda urgente con Proyecto de maquina de turing
Java
mario1994 4 3,500 Último mensaje 16 Enero 2013, 20:12 pm
por cavalier23f
AYUDA PROYECTO URGENTE
Programación C/C++
RAFA001 3 2,424 Último mensaje 22 Agosto 2013, 15:49 pm
por WHK
Urgente, proyecto, Dijkstra, ruta más corta xc
Programación C/C++
axel19 1 3,023 Último mensaje 4 Junio 2018, 18:42 pm
por SrMcLister
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines