PREGUNTAS CONTESTADAS -

 Hay un total de 745 Preguntas.<<  >> 

    Pregunta:  8307 - LIMTANTE EN TAMAñO DE ARREGLOS
Autor:  Diego Salas Pastenes
Hola,
Primero que nada encuentro genial que haya una página para poder preguntar y responder dudas sobre programación.
Mi problema es el siguiente: En estos momentos estoy trabajando en mi tesis sobre optimización con arreglos de dos y tres dimensiones. Pero surge el problema de que sólo puedo tener un total de 90.000 lugares o espacios de memoria por arreglo. Y si agrego muchas variables se presenta el problema de la memoria en la ejecución. Los arreglos los tengo declarados de la siguiente manera:
int _huge b[150][100][6];
int _huge a[150][100];
struct nodo
{
int _huge x[150][100];
struct nodo *sig,*ant;
};
typedef struct nodo NODO;

**Si aumento el tamaño me arroja el sgte. error:
***Arreglo demasiado largo!!

He leido respuestas sobre problemas de memoria, pero no he podido aplicarlas a mi problema.
Bueno me depido de Uds. esperando que por favor me respondan.
Diego Salas Pastenes.

  Respuesta:  Hunter
y si tus vestore de 2 o 3 dimenciones los declaras como una LSE (lista simple mente enlasada) o LDE (lista doble mente enlasada)????????????
  Respuesta:  Marco Antonio
En tu pregunta no dices si eso que estás programando, lo haces en MS-DOS, en Windows, o dónde.
En MS-DOS no se pueden tener arrays de más de 64Kb (65536 bytes). Si lo haces en Windows, no deberías tener esos problemas.
Espero que te sirva!

    Pregunta:  8491 - FORMATO BMP
Autor:  Pablo García
Hola, quisiera que alguien me informara sobre cómo funciona el formato BMP, pero no lo de la cabezara que está en todos lados y ya me la sé de memoria. Quisiera saber cómo acceder a la información de los pixels. Yo trabajo en escala de grises pero siempre se mete información sobre la paleta de colores y no sé si lo que estoy leyendo pertenece a un pixel o a información sobre la paleta. GRACIAS!!!!
  Respuesta:  José Luis De la Cruz
Hola Pablo

Hace algún tiempo terminé de programar unas rutinas para cargar un BMP en C++. Esta rutina carga
BMP's de 256 colores, en la VGA con resolución 320x200 píxeles...

Por la largada de la respuesta, esta en el archivo resp8491.txt.

    Pregunta:  8527 - GTK+
Autor:  David Abad
Tengo las librerías de GTK+ para WIN32. Quiero realizar la programación de las X-Windows bajo Windows 98.
Realizo los programas y los compilo con Visual C++.
TEngo 0 errores y 0 avisos, pero a la hora de realizar el ejecutable siempre obtengo el error:
Spawning linking error.
Quisiera una solución para poder realizar los ejecutables.

Muchas Gracias.
  Respuesta:  William Rodriguez
tal vez ud esta accediendo a memoria q no existe, tal vez trabajas mal los apuntadores, o la memoria dinamica.... revisa la logica...
  Respuesta:  Melchor Viso
El error significa que Visual C++ no consigue lanzar el linker (no parece que tenga que ver con el programa que se está linkando). En vez de usar VC++, se puede utilizar el maravilloso Cygnus-gcc junto con el Source Navigator de RedHat... todo ello en Windows. El Source Navigator le da 1000 vueltas en capacidad de exploración de codigo al Visual C++, y además de que todas estas herramientas son GPL, los programas resultantes son entre un 15% y un 30% mas pequeños y son (por lo menos en los mios) mas veloces.

Un saludo.

    Pregunta:  8530 - PROBLEMAS CON BORLAND C++ AL IMPRIMIR QUICKREPORT
Autor:  Shei LR
Tengo un pequeño problema. Tengo una aplicación en Borland C++, cuando desde esa aplicación hago un "preview" de la pantalla, y se muestra una ficha que es un "QuickReport", si le doy a imprimir, la impresora me arruga las hojas y no cobnsigo imprimir nada "decente", en cambio desde cualquier otro programa(Word, Word Perfect,...), la impresión es perfecta. Que tengo mal configurado del QuickReport en el inspector de objetos de Borland C+..??Gracias a todos.
  Respuesta:  Hernán Tornielli
He utilizado el QuickReport en C++Builder 5 sin inconvenientes. No hay nada en el Object Inspector que pueda producir ese efecto. A qué componente tenés asociado el QuickReport, a un RichEdit????
Fijate que tengas seleccionada la impresora correcta (si tenés más de una). Compilá los ejemplos de la carpeta Examples y probalos.

    Pregunta:  8636 - USAR FLASH5.0 EN VISUAL C
Autor:  M C
Tengo que generar una ventana con regiones, a la que en el centro debo colocarle un visor de películas de flash 5.0, por favor necesito ayuda, dado que sé que se puede hacer en Visual Basic, importando un control para tal efecto. Mil Gracias.
  Respuesta:  Mario Zuñiga Trejo
Puedes agregar el control falsh sobre tu apliación usando las opciones Visual Studio Project/Add to Project/Components and Controls...
una vez en esa opción busca el control flash, si no sabes cual es te recomiendo que pruebes primero con VBasic e identifiques la librearia o Dll o OCX donde se encuentre el control Flash.

    Pregunta:  8765 - COMO LEER ARCHIVOS *.ICO Y *.CUR DESDE TURBO C/C++ PARA DOS
Autor:  Guillermo Méndez Vela
Hola. Deseo leer archivos *.ico o *.cur desde c++ (Ver. 3.0) si alguien puede decirme como o si es posible hacerlo.
Por favor. Gracias.
  Respuesta:  Pedro Miguel González
Hola Guillermo, la información que necesitas la puedes encontrar en http://www.dcs.ed.ac.uk/home/mxr/gfx/2d/BMP.txt

No la incluyo aqui porque es un fichero bastante extenso para un foro.

Un saludo

    Pregunta:  8775 - DIRECCIONES DE MEMORIA ABSOLUTAS
Autor:  _cplusplus_ _c_
Hola.
Me gustaria saber como puedo acceder a una diireccion de memoria absoluta, es decir del tipo segmento:desplazamiento utilizando punteros normales de C. Con normales me refiero a no utilizar punteros tipo far, ni tampoco hacer uso de la macro MK_FP. Desde siempre esto lo he hecho con punteros tipo far, pero me gustaria seber como se hace con punteros
estandares por llamarlo de alguna forma.

Gracias a todos.
  Respuesta:  Googol Plex
No se puede.
En MS-DOS hay dos tipos de punteros, según el tipo de aplicación.
Los punteros \"near\" son aquellos que solo tienen el desplazamiento, porque el segmento está implícito. Por ejemplo, si tienes un puntero a una variable, en un programa pequeñito en el que solo se tiene un segmento de datos (64 Kb), el puntero será \"cercano\" (near), dando solo el desplazamiento en el segmento, que será el apuntado por DS.
Si la aplicación es más grande, y necesita más datos, tendrá más de un segmento, a si es que un puntero auna variable tiene que dar el segmento y el desplazamiento. Y para eso son los punteros far. Un puntero near ocupa un entero de 16 bits, para el desplazamiento; y un puntero far tendrá dos enteros de 16 bits, uno para el segmento y otro para el desplazamiento.
Lo que tú llamas \"punteros estandares\" ¿qué es? Si tú defines un puntero, sin especificar far o near, el puntero será cercano, o lejano, según el modelo de memoria en el que compiles el programa. Si tienes solo un registro para datos, será near; si tienes más será far.
Si quieres tener un puntero a una posición concreta, absoluta (por ejemplo a los vectores de interrupción, o a las variables de la BIOS) necesitas obligatoriamente un puntero lejano, que guarde el segmento y el desplazamiento.
Si tu aplicación solo usa un segmento de datos, tendrás que especificar que quieres el puntero a far. Si no, no hará falta (creo...).
La macro MK_FP lo único que hace es rellenarte el puntero. Éste es un par de enteros seguidos, con el segmento y el desplazamiento, y la macro lo único que hace es guardar los valores que le das en cada uno de los dos enteros. Vamos, que te simplifica la vida, pero también podrías hacerlo tú a mano.

Espero que te sirva... y que la respuesta no llegue demasiado tarde... :-)

    Pregunta:  8994 - PROBLEMAS CON TEMPLATES
Autor:  Manuel Kobashigawa
tengo problemas cuando trato de compilar un projecto que contiene un 'template class'.
el proyecto contiene 3 programas:
- un main.cpp
- un prg.cpp y
- un prg1.cpp (este es un template class).
prg.cpp y prg1.cpp tiene cada uno, definidos sus respectivos prg.h y prg1.h
en main.cpp tengo lo sgte:
#include "prg.h"
#unclude "prg1.h"

template class prg1<prg> ;
int main()
{
prg1<prg> p;
return 0;
}
me da error que no estan definidas las funciones de prg.cpp
estoy usando djgpp 2.81.
cualquier consejo es util.
gracias
  Respuesta:  Melchor Viso
Bueno. Hace algunos años, tambien me paso a mi, eso que me leí enterita la primera edición con 'Ejemplos' de Bjarne Stroutoup. La solución: Los patrones de clase no son código, son declaraciones susceptibles de convertirse en código cuando se aplica el patrón (como haces en la linea "prg1<prg> p; "). Esto quiere decir que las funciones de un patron de clase se deben de incluir en el mismo fichero de cabecera. Algunos programadores, por nostalgia, crean falsos ficheros fuente, que en realidad se autoincluyen en los ficheros de cabecera.

//My header
template<class X> className
{
int myMethod(int myarg);
};

template<class X> int className<X>::myMethod(int myarg)
{
return 0;
}

//End My header

    Pregunta:  9089 - DE QUE MANERA SE MANEJA EL STACK CUANDO HAY RECURSIVIDAD
Autor:  victor manuel hoyos valencia
ME GUSTARIA SABER COMO TRABAJAN LAS FUNCIONES EN EL STACK DE LA MEMORIA CUANDO UNA FUNCION SE EVOCA A SI MISMA .
Y TAMBIEN DE COMO SE PUDE OCUPAR O ACCESAR LUGARES DE MEMORIA DE OTRO PROGRAMA
MUCHAS GRACIAS POR SU COLABORACION
  Respuesta:  Marco Antonio
Cuando se llama a una función, sus parámetros se almacenan en la pila. Además, las variables locales de la función, también se guardan en ella. De esta forma, la pila va aumentando y disminuyendo su tamaño, dependiendo de las llamadas.
Si tu tienes la función que calcula el factorial:

int factorial(int n) {
if (n == 0)
return 1;
else
return n*factorial(n-1);
}

cuando desde fuera se llama a factorial(3), se apila el 3. En la instrucción 'if (n==0)', la función mira el valor de la pila, y comprueba si es cero. Como no lo es, va por el else, y llama a la función 'factorial(n-1)'; para eso, mete un dos en la pila, y se vuelve a repetir el proceso.
Cuando se llega a la llamada 'factorial(0)', se comprueba que n==0, y se devuelve un 1. Cuando la función sale, los parámetros y las variables locales se eliminan de la pila.
De esta forma, cuando en la ejecución de 'factorial(3)', se llama al 'factorial(2)', se apila el 2, y se llama a la función. Cuando se vuelve, se desapila el 2, y se utiliza el resultado devuelto, para multiplicarlo por 'n' y devolverlo.

Espero que te sirva!

    Pregunta:  9204 - COMO HACER UN DLL EN TURBO C++
Autor:  Eduardo Uberne Gutierrez Leiva
Me gustaria saber como hacer para crear un archivo dll en turbo c++ debido a que es para un proyecto de clases y lo necesito con urgencia. les agradeceria si me pueden mandar un ejemplo en turbo c++ o alguna direccion en la que yo pueda consultar.

De ante manos les agradesco su colaboracion.
  Respuesta:  Oscar Medina
El compilador tiene que tener la capacidad para generar dll, fijate en los parametros, creo que desde el 3.1 tiene esta opcion, despues lo que tenes que hacer es codificar todas las funciones que necesitas y creas un archivo .DEF que se debe llamar como la dll que vas a crear.
En el archivo DEF escribis lo siguiente:
EXPORTS
nombreFuncion1=nombreFuncion1
nombreFuncion2=nombreFuncion2

Esto para todas las funciones tuyas, creo que poniendo una sola vez el nombre funciona tambien pero no estoy seguro.
Si vas a usar las funciones desde otro lenguaje como ser Visual Basic, tenes que declarar las funciones en el codigo fuente con la macro _stdcall, o sea que la funcion quedaria asi:

_stdcall int mifuncion(int hola) {
}
Espero que te haya sido de utilidad.

|<  <<  23 24 25 26 27 28 29 30 31 32 33  >>  >|