Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Proyecto C++

Estas en el tema de Proyecto C++ en el foro de C/C++ en Foros del Web. Muy Buenas Tardes. En La Uni Me Mandaron Un Proyecto En C++, Y Estoy Viendo Como Hacerlo, Espero Que Ustedes Me Den Ideas De Como ...
  #1 (permalink)  
Antiguo 04/10/2010, 11:02
 
Fecha de Ingreso: noviembre-2008
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Proyecto C++

Muy Buenas Tardes.
En La Uni Me Mandaron Un Proyecto En C++, Y Estoy Viendo Como Hacerlo, Espero Que Ustedes Me Den Ideas De Como Comenzar Este Proyecto, Mi Dificultad Se Hace En Como Construir El Plano Cartesiano Y Las Constantes.

La Universidad Central De Venezuela Esta Desarrollando Un Programa De Vigilancia Ecologica De Especies Marinas En Las Costas Del Pais.

Mendiante El Uso De Un Submarino, El Objetivo Es Posicionarse En Un Lugar Fijo En EL Mar Y Mediante La Observacion Por EL Periscopio De La Nave Llevar A Cabo La Observacion.

Se Les Solicita Que Dada La Posicion Del Submarino, Indique Cuantas Especias Estan En La Linea De Vision A Fin De Estudiarlas En Detalle.

La Informacion Es La Siguiente:
*El Area Geografica Se Asume Que Es De Forma Cuadrada
*La Vision Del Sumarino Es Horizontal Y Verticial A La Vez
*El Submarino No Puede Estar En Los Bordes De la Area Geografica.
*Existen Islas Que Interrumpen La Vision Del Submarino, Especificamente La Interrumpe En Su Linea De Vision Vertical U Horizontal Y Tapan A Una Especie.
*La Posiciones De Las Islas, Especies Marinas Y La Del Submarino Son Suministradas Por El Usuario Mediante Coordenadas Cartesianas ( X , Y) Mayores A 0.
*El Tamaño De Area Geografica Es Suministrada Tambien Por El Usuario, Mediante Dos Enteros ( Uno Para La Cantidad De Columnas Y Otra Por la Cantidad De Filas)
*Las Especies Siempre Son 5
*Las Islas Siempre Son 3

Se Solicita:
* Cantidad De Especies Que Esten En Linea De Vision
* Nombre De Cada Especie Que Se Pueda Ver
* Nombres De las Islas Que Tapan La Vision.


EJEMPLO:

*Tamaño Del Area Geografica = Filas=4 Columnas = 4
*Posicion Del Submarino= 2 , 2
*Posicion De Las Especies: Especie E1=1 , 1 ; Especie E2=2 , 4 ; Especie E3=4 , 2
*Posicion De Las Islas: Isla I1= 2 , 3 ; Isla I2= 4 , 3



Salida: Cantidad De Especies En Linea De Vision = 1, Especies Que Pueden Verse E3.

Muchas Gracias, Espero Que me Ayuden En Este Proyecto. Que Pasen Un Buen Dia :D!
  #2 (permalink)  
Antiguo 04/10/2010, 13:50
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 8 meses
Puntos: 0
Mensaje Respuesta: Proyecto C++

Ahmm hola aquí te dejo un código .. disculpa que no esta estructurado ni muy optimizado... lo hice rapidito , pero creo que te sirve para comenzar o mejorarlo .De todas maneras mándame un PM o lo que sea :P.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define SPECIES 3
  5. #define ISLAND 2
  6.  
  7. main()
  8. {
  9.     /* Posiciones geograficas :*/
  10.     int xSub, ySub, xGeo, yGeo, xIsland, yIsland , xSpecie, ySpecie;
  11.     /* Contadores :*/
  12.     int countH=0,countV=0, i, j;
  13.    
  14.     do{
  15.     puts("Insert Geopraphic area (x,y):");
  16.     scanf("%d %d", &xGeo, &yGeo);
  17.     }while (xGeo < 0 || yGeo<0); /* no negativo */
  18.     int geoPos[xGeo][yGeo];  /* Creando vector geografico*/
  19.     do{
  20.     puts("Insert submarine  position (x,y):");
  21.     scanf("%d %d",&xSub, &ySub);
  22.     }while(ySub == 1 || xSub == 1 || xSub == xGeo || ySub == yGeo || xSub<0 || ySub<0);
  23.     geoPos[xSub][ySub] = 'S';  /* Submarino = S , y que no este en borde geografico*/
  24.     for (i=0 ; i<ISLAND ; i++)
  25.     {
  26.         do{
  27.              printf("Insert island 0%d position (x,y): ",i);
  28.              scanf("%d %d",&xIsland, &yIsland);
  29.         }while(xIsland<0 || yIsland<0 || geoPos[xIsland][yIsland] == 'S' || geoPos[xIsland][yIsland] == 'I' );
  30.         geoPos[xIsland][yIsland] = 'I';  /* No sobreponer una isla sobre otra isla  o sobre el submarino*/
  31.     }
  32.     for (i=0 ; i<SPECIES ; i++)
  33.     {
  34.        do{
  35.             printf("Insert specie %d position (x,y):",i);
  36.             scanf("%d %d",&xSpecie, &ySpecie);
  37.         }while(xSpecie<0 || ySpecie<0 || geoPos[xSpecie][ySpecie] == 'S' || geoPos[xSpecie][ySpecie] == 'I'
  38.         || geoPos[xSpecie][ySpecie] == 'E' ); /* No sobreponer una especie sobre una isla, especie o submarino*/
  39.         geoPos[xSpecie][ySpecie] = 'E';
  40.     }
  41.    
  42.     /* Vista del submarino horizontalmente */
  43.     for (j=1; j<yGeo ; j++)
  44.     {
  45.         if (geoPos[xSub][ySub+j] == 'E')
  46.             countH += 1;
  47.         else  if (geoPos[xSub][ySub+j] == 'I')
  48.             break;
  49.     }
  50.     for (i=1 ,j=ySub; j>0 ; j--, i++)
  51.     {
  52.         if (geoPos[xSub][ySub-i] == 'E')            
  53.             countH += 1;
  54.         else  if (geoPos[xSub][ySub-i] == 'I')
  55.             break;
  56.         }
  57.     /* Vista del submarino verticalmente*/
  58.     for (j=1 ; j<xGeo; j++)
  59.     {
  60.         if (geoPos[xSub+j][ySub] == 'E')
  61.             countV += 1;
  62.         else  if (geoPos[xSub+j][ySub] == 'I')
  63.             break;
  64.     }
  65.     for (i=1 ,j=xSub; j>0 ; j--, i++)
  66.     {
  67.        if (geoPos[xSub-i][ySub] == 'E')
  68.             countV += 1;
  69.        else  if (geoPos[xSub-i][ySub] == 'I')  
  70.             break;
  71.     }
  72.     printf("Localizadas %d especies horizontalmente\n\n",countH);
  73.     printf("Localizadas %d especies verticalmente\n\n",countV);
  74.     system("pause");
  75.        
  76.    
  77. }
saludos desde edo. carabobo xD
  #3 (permalink)  
Antiguo 04/10/2010, 22:20
 
Fecha de Ingreso: noviembre-2008
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Proyecto C++

Gracias Mi Pana, Se Me Olvido Decir Que Solo Puedo Usar Condiciones De Tipo :
  • Secuenciamiento
  • Simples
  • Compuesta
  • Anadida
  • Seleccion Multiple

Solamente Esos...

Como Yo Pudiera Solucionar El Problema De La Vista Verticalmente Y Horizontalmente Del Submarino...?!

Otra Vez Muchas Gracias. Desde Caracas :D!
  #4 (permalink)  
Antiguo 07/10/2010, 22:21
 
Fecha de Ingreso: noviembre-2008
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Proyecto C++

Alguien Me Podra Ayudar?!

Etiquetas: proyectos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:23.