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 - avesudra

#121
Programación C/C++ / Re:
2 Noviembre 2014, 15:13 PM
Hace tiempo hice un tutorial de como compilar las librerias qt, pero no se si con las nuevas versiones servirá.
#122
Programación C/C++ / Re: estructuras dinamicas
2 Noviembre 2014, 11:00 AM
Hola MessageBoxA, está bien que des el código que llevas hasta ahora pero tiene que ser una duda concreta, ¿en que parte te quedas trabado?

Aprovecho para decirte que tu estructura no está completa si no me equivoco. Además, el enunciado te pide el programa en lenguaje C y tu has hecho una mezcla de C y C++ en tu código agregando la biblioteca conio.h que NO es portable.

Saludos.
#123
Hola el-brujo, como ya te comenté no tengo ningún conocimiento sobre SMF ni PHP ni nada de nada. Sin embargo monté un foro de ejemplo con SMF 2.0.9 y para añadir MathJax lo que tuve que hacer es entrar en el directorio Sources y en el archivo Subs.php (supongo que será igual en SMF 1.1.x) , luego después de este código:
Código (php) [Seleccionar]
<script type="text/javascript"><!-- // --><![CDATA[
       var smf_scripturl = "' . $scripturl . '";
// ]]></script>';

Añadir esto:
Código (php) [Seleccionar]
echo "<script type='text/javascript' src='http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>";
echo "<script type='text/javascript'>MathJax.Hub.Config({tex2jax:{inlineMath: [['$','$']],processEscapes: true}});</script>";

Así al poner por ejemplo lo siguiente:

$$\int\frac{dx}{x^2-2}$$

Te saldría la integral de 1/(x^2-2) en condiciones(en forma presentada, es decir en medio del post). Si pones doble dólar sale en forma presentada, si pones simple dólar no te separa el párrafo y te pone lo que sea en la misma línea en la que estás escribiendo.

Lo saqué de aquí: http://wiki.math.toronto.edu/TorontoMathWiki/index.php/Forum . Aun así es añadir dos líneas de javascript, no mucho más.

(Acabo de mirar el Subs.php en SMF 1.1.19 y es igual la línea tras la que hay que poner eso)

Un cordial saludo el-brujo y gracias por soportar mi ignorancia  :silbar:.
#124
Programación C/C++ / Re: Duda tonta switch
30 Octubre 2014, 18:20 PM
Cita de: eferion en 30 Octubre 2014, 18:12 PM
seguro??


Código (cpp) [Seleccionar]
switch(opcion){
               
   case 'a':
   case 'A':
         printf("La suma de %g + %g = %g ",num1,num2,num1+num2);            
                break;
               
               
   }

Es cierto que en el caso del operador de disyunción puedes hacer ese amaño para solucionarlo. Aun así con el operador lógico conjuntivo no te funciona y habría que usar otras maneras. Lo que debe quedar bien claro aquí es que detras del case no puede haber ninguna expresión que contega variables a ser evaluadas lógicamente, solo un valor constante.

Muy inteligente eferion  ;-)

Un cordial saludo.
#125
Programación C/C++ / Re: Duda tonta switch
30 Octubre 2014, 18:08 PM
En pocas palabras, no.

Saludos.
#126
Foro Libre / Re: Sacar un sonido de una web
30 Octubre 2014, 00:13 AM
Cita de: engel lex en 29 Octubre 2014, 23:54 PM
es un flash el sonido puede estar embebido o puede que lo descargue... si es la segunda puedes tener suerte si usas el wireshark y ves el link de donde lo saca
Está embebido, hay que usar algún extractor, yo he probado uno pero los archivos wav que saca se escuchan mal (he probado la version trial del SWF Extractor)
#127
Cita de: GilbertoBrewer en 28 Octubre 2014, 20:46 PM
Sí había visto en ese tema que no es recomendable utilizar el fflush(stdin), pero no me quedó del todo claro el porqué.
Porque la función fflush está definida para limpiar el estandar de salida (stdout), en cualquier otro caso el comportamiento de la función está indefinido. En Windows funciona, por el contrario en Linux no lo hace y Mac OS lo ignora.
#128
A veces cuando intentamos poner cualquier fórmula matemática que se salga de lo normal, tenemos muchos problemas, teniendo que recurrir a imágenes o cosas por el estilo. Sé que esto es un foro de Informática, no de Matemáticas, pero la Informática como todas las ciencias habidas y por haber, se nutre de ellas y eso no podemos negarlo.

Si se pudiese habilitar MathJax o cualquier otro tipo de plugin que permitiese visualizar las mates de una manera aceptable en el foro sin que redujese la velocidad o derivados, sería un detalle para algunos usuarios.

No sé si lo que estoy diciendo se escapa de los límites de SMF, además tampoco se de Programación Web ni nada de nada, sean buenos si estoy preguntando cualquier burrada ;D.

Un saludo.




Vale, ya sé que sí se puede, espero que los admins , moderadores consideren esto.
#129
Hola, buenas tardes, antes de nada quería decirle a ShadowA7X que en vez de poner el código completo, deberias poner un ejemplo con las mínimas cosas para que funcione, y así podemos corregirlo bien.

Por añadir algo a este problema, siguiendo con la solución propuesta por Engel Ex, es una solución buena pero como dice ShadowA7X, él está trabajando con segmentos.

Bien para solucionar el problema solo tenemos que ver si las rectas en las que están contenidas esos segmentos se cortan o no. En caso de que no se corten, es obvio que los segmentos tampoco lo hacen, finalizando aquí nuestro problema. Continuando por la otra rama, nos saldría un punto I de corte de las dos rectas.

Ahora viene nuestro problema, ¿cómo demonios comprobamos que ese punto pertenece a los dos segmentos a la vez?

Para comprobar esto, sabemos que el segmento R1 tiene dos puntos que lo definen, A y B, y la longitud de dicho segmento es LAB, si la longitud del segmento IA (punto de corte - punto que define a R1) más la longitud del segmento IB, es la longitud del segmento original, entonces ese punto está en el segmento R1 si ningún tipo de duda.

Pero también tendremos que comprobar esto para el segmento R2 que está definido por los puntos C y D de la misma manera.

Si uno de los dos al menos NO contiene al punto de corte I, entonces los segmentos no se cortan.

Saludos.
#130
Para aclararnos un poquito más y facilitarle la vida a los que te vamos a ayudar encierra tus códigos con la etiqueta GeSHi para ayudar a su correcta lectura así:
Código (cpp) [Seleccionar]
void insertaEnLista(list<list<Peticion> > lista, Peticion p)
{
   // CASO DE QUE LA LISTA ESTE TOTALMENTE VACIA, PARA EL PRIMER DATO QUE ENTRE
   if (lista.empty())
   {
       cout << "La lista enlazada grande estaba vacia asi que le aniado la 1º" << endl;
       list<Peticion> l; //CREO UNA LISTA DE LAS QUE CUELGAN
       l.push_back(p); //l.push_front(p) LE METO LA PETICION
       lista.push_back(l); // A LA LISTA ENLAZADA GRANDE LE ANIADO UNA PEQUENIA
       cout << "Se ha introducido correctamente la peticion de codigo " << lista.begin()->begin()->getCodigo() << endl;
   }
   else
       cout << "Aqui no entro porque la lista no esta vacia" << endl;
       

   if (lista.empty())
       cout << "Comprobacion: esta vacia" << endl;
   else
       cout << "Comprobacion: no esta vacia" << endl;
}

El problema echandole un vistazo al código es que  estás pasando una lista por valor, esto hace que se copie toda la lista de una variable a otra y modificas ésta última, no la original, por tanto tu cambio no causa efecto en la original. Efectivamente es eso, te pongo como dirían los ingleses un "minimal working example" con enteros para que lo modifiques conforme a tus necesidades:
Código (cpp) [Seleccionar]
#include <iostream>
#include <list>

using namespace std;

void insertaEnLista(list<list<int>> *lista, int p)
{
   // Si la lista está vacía de listas añado una lista nueva e inserto el elemento.
   if (lista->empty())
   {
       list<int> listaTmp;
       listaTmp.push_back(p);
       lista->push_back(listaTmp);
   }
   // Si no está vacía añade p a la última lista.
   else
       (*--lista->end()).push_back(p);
}
int main(int argc, char** argv)
{
   list<list<int>> miLista = {{3,4},{2,3}};

   insertaEnLista(&miLista,7);

   for(list<list<int>>::iterator it = miLista.begin(); it != miLista.end(); ++it)
       for(list <int>::iterator sit = (*it).begin(); sit != (*it).end(); ++sit)
           cout << ' ' << *sit;
}

Con la intención de poner más claro el programa he añadido un par de typedefs que acortan mucho los tipos que se suelen usar con las plantillas de C++:
Código (cpp) [Seleccionar]
#include <iostream>
#include <list>

using namespace std;

typedef list<list<int>> iDList;
typedef list<int> iList;

void insertaEnLista(iDList *lista, int p)
{
   // Si la lista está vacía de listas añado una lista nueva e inserto el elemento.
   if (lista->empty())
   {
       iList listaTmp;
       listaTmp.push_back(p);
       lista->push_back(listaTmp);
   }
   // Si no está vacía añade p a la última lista.
   else
       (*--lista->end()).push_back(p);

}
int main(int argc, char** argv)
{
   iDList miLista = {{3,4},{2,3}};

   insertaEnLista(&miLista,7);
   for(iDList::iterator it = miLista.begin(); it != miLista.end(); ++it)
       for(iList::iterator sit = (*it).begin(); sit != (*it).end(); ++sit)
           cout << ' ' << *sit;
}

Yendo al grano, tu problema es que tienes que pasar la lista por referencia para poder modificar la lista original y no una copia de ésta, asumo que si has llegado a listas te manejas con punteros, así que no debería haber problemas.

Un saludo.

Avesudra.