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

Programacion Algoritmos

Estas en el tema de Programacion Algoritmos en el foro de C/C++ en Foros del Web. Primero que Todo un saludo a Todos; Primero me presento, mi Nombre es José, Soy Colombiano y estudio Ingenieria Civil; este semestre añadi una materia ...
  #1 (permalink)  
Antiguo 24/08/2009, 09:23
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Programacion Algoritmos

Primero que Todo un saludo a Todos; Primero me presento, mi Nombre es José, Soy Colombiano y estudio Ingenieria Civil; este semestre añadi una materia de programacion de computadores y realmente No se muchas cosas, me puse a buscar foros y he encontrado este, que primero que todo entre para preguntar sobre mis dudas, pero con el tiempo y el conocimiento que adquiera de programacion intentare ayudar a otros usuarios y esperar que el foro crezca.

Mi Primer Topic es Sobre esta pregunta, Por Ahora empiezo con la parte de los "diagramas" previos a la programación, pero No encuentro la manera de Solucionar este problema


¿Algoritmo que determina interseccion de dos Rectangulos?
La inquietud q tengo sobre si existe una formula, que permita determinar si un rectangulo (A), y un rectangulo (B) dentro de un plano cartesiano Se sobreponen o No... El problema esta planteado de esta manera:

* Un rectángulo queda determinado si se conocen las coordenadas de su vértice inferior izquierdo, su ancho y su largo. Construir un algoritmo que lea los datos relacionados con dos rectángulos y determine si estos se intersectan o no.

Seria de mucha ayuda para mi si alguien me ayudara a determinar dicho algortimo.
  #2 (permalink)  
Antiguo 24/08/2009, 21:42
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 127
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Programacion Algoritmos

OK mira yo pienso que al darle el Ingreso que te solicita el programa que es el Ve'rtice Inferior Izquierdo completas la figura de ambos rectangulos, luego de que quede dibujado el rectangulo con los parametros que les diste el mismo dibujo te mostrara si se intersectan o no; eso segun las coordenas que ingreses inicialmente.

Ingresos:
======
*Recta'ngulo A : Coordena (X1,Y1)
*Recta'ngulo B : Coordena (X2,Y2)

Salida:
====
*El Dibujo de ambos Recta'ngulo


Espero puedas compreder mi idea. Si necesitas el co'digo para poder dibujar los Recta'ngulo me los pides.

Saludos,

Calle7
  #3 (permalink)  
Antiguo 25/08/2009, 06:13
 
Fecha de Ingreso: agosto-2009
Mensajes: 67
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Programacion Algoritmos

Hola...

Google es bueno para solucionar este tipo de dudas.

La fórmula:

h t t p : / / w w w . g o o g l e . e s /search?hl=es&rlz=1T4ADRA_esES331ES332&q=intersecci on+de+dos+rectangulos+algoritmo&btnG=Buscar&meta=



En cuanto al algoritmo de verdad...

Con las coordenadas del primer punto, el alto y el ancho, puedes generar el resto de puntos del rectángulo, lo haces con los dos.

Con lo que obtienes, tienes 4 segmentos para cada rectángulo, lo que significa que puedes aplicar una fórmula de intersección entre dos segmentos (ve a google para conseguirla) y aplicarla para todas las combinaciones de una línea de cada rectángulo. (En realidad bastaría con comparar muchas menos líneas, pero así el algoritmo es más simple)



Un saludo.
  #4 (permalink)  
Antiguo 05/09/2009, 17:51
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Programacion Algoritmos

Gracias a los q respondieron

Quisiera este foro para poder preguntar (frecuentemente) sobre programacion en c++

1. Este es el ejercicio que quiero q resuelva el programa, pero a decri verdad No tengo idea de como hacerlo :S
Una secuencia estrictamente creciente es una secuencia de numeros en donde cada numero es estrictamente mayor que el anterior. Un secuencia estrictamente decreciente es una secuencia en donde cada numero es estrictamente menor que el anterior. Una secuencia estrictamente monotona es una secuencia que es estrictamente creciente o estrictamente decreciente. Por ejemplo, [2 4 6 7 ..] [9 7 ..].

Los estudiantes de programacion de computadores, han organizado una esta de integracion en un salon de eventos que no tiene vigilante. En su lugar, hay una puerta de seguridad con un panel electronico que solicita una secuencia de 8 numeros enteros entre 0 y 100 uno despues del otro. Ademas, los estudiantes han acordado que no importa la secuencia estricta de los numeros que se digiten.

2. Esto es el "codigo" q hice :S.


Cita:
Iniciado por Jose
#include <conio.h>
#include <cstdlib>
#include <iostream>

using namespace std;

int main ()
{

int i;
int r[100]; //reservamos 100 espacios para el Array que va a guardar los restos susecivos

for(i = 0; i < 1000; i++) //Inicializamos los valores a 0
{
r[i] = 0;
}
i = 1;
{

r[a]=0;

//Este bloque analiza la secuencia de números
cout<<"ESCRIBA SU CLAVE"<<endl;
cout<<"Número 1:";
cin>> a;
cout<<"Número 2:";
cin>>b;
cout<<"Número 3:";
cin>>c;
cout<<"Número 4:";
cin>>d;
cout<<"Número 5:";
cin>> e;
cout<<"Número 6:";
cin>>f;
cout<<"Número 7:";
cin>>g;
cout<<"Número 8:";
cin>>h;


//VERIFICAR ENTRADAS:
cout<<"ESCRIBA SU CLAVE:("<<a<<","<<b<<","<<c<<","<<d<<","<<e<<","<< f<<","<<g<<","<<h<<")"<<endl;

bool A,B;
A= (a<b<c<<d<e<f<g<h);
B= (a>b>c>d>e>f>g>h);

if(A||B){
//CASO POSITIVO
cout<<"SU CLAVE ES CORRECTA"<<endl;
}
else{
//CASO NEGATIVO
cout<<"SU CLAVE ES INCORRECTA"<<endl;
}

system("PAUSE");

return 0;
}
DE ANTEMANO GRACIAS POR LEER, y espero los que sepan programar me ayuden con esto..

Gracias,
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 10:48.