• Viernes 29 de Marzo de 2024, 06:28

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - ProfesorX

Páginas: 1 ... 29 30 [31] 32
751
HTML / Re: Codigos Maliciosos Para Postear En Foros..
« en: Sábado 8 de Diciembre de 2007, 21:07 »
que id....a eres J.E., eres tan id....a como lammer, espero que despues de haber hecho lo que te dijeron que hicieras, aprendas la leccion  :devil:  :devil:  :devil:

752
C++ Builder / Re: Nesecito Saber Para Que Me Sirve Este Codigo
« en: Miércoles 5 de Diciembre de 2007, 18:32 »
El viejo Turbo C  :P

Mira, a mi me funciono bien, debes tener algun error, quizas te falta algun graphic driver, hay una funcion llamada graphresult(), que devuelve el ultimo error en cualquier operacion grafica, llamala despues de llamar a initgraph(&driver,&mode,""), de la siguiente forma:

Código: Text
  1.  
  2. int result = graphresult();
  3.  
  4.  

imprime el error, y checa con la ayuda el codigo de error, para que sepas exactamente cual es la falla en la inicializacion.

Saludos :)

753
C/C++ / Re: Problema Para Mostrar La Diferencia
« en: Miércoles 5 de Diciembre de 2007, 18:12 »
No se si entendi bien el problema, pero si quieres mostrar solamente aquellos modelos cuyo stock es menor al minimo, cambia una condicion:

Código: Text
  1.  
  2. // Esta es la condicion para probar si la existencia es menor al stock minimo,
  3. // como lo tenias, hacias lo contrario, imprimir aquellos cuya existencia era
  4. // mayor al stock minimo, era cosa de invertir la desigualdad
  5. if (mte[k][j] < stmn[k][j])
  6. {
  7.     // Calcula la diferencia (esto ya lo tenias bien, sale en formato negativo,
  8.     // Si deseas que salga en formato positivo, o sea, sin el signo menos
  9.     // Simplemente invierte los operandos, o sea:
  10.     // dif = stmn[k][j] - mte[k][j];
  11.     dif = mte[k][j] - stmn[k][j];
  12.     printf( " modelo  %d nro zapato %d, la diferencia es %d  \n",k+1,j+34,dif);
  13.  
  14. }
  15.  
  16.  

Si no era eso lo que querias, explica mejor el problema.

Saludos :)

754
Programación de Videojuegos / Re: Instalacion Ogre3d
« en: Sábado 1 de Diciembre de 2007, 23:07 »
Estimado Huevo, mi recomendacion: no uses el Wizard, mejor revisa el codigo fuente de los demos, el ExampleApplication.h, el ExampleFrameListener.h y los tutoriales del Ogre Wiki, para que te des una idea de como crear un proyecto de ogre, no es tan dificil modificar un demo para que te sirva en cualquier proyecto, y de todas formas el wizard lo unico que hace es añadirte los ExampleApplication.h y ExampleFrameListener.h.

En un proyecto que los uses, solo tienes que crear tu escena haciendo un "override" del metodo createScene de la clase ExampleApplication, y lo que quieras que pase en cada cuadro o frame, incluido la entrada por teclado, en los metodos frameStarted y frameEnded de ExampleFrameListener.

Si sigues los tutoriales, te aseguro que no te costara trabajo.

Saludos 8)

755
C/C++ / Re: Programa Con Vectores Y Ordenamiento Con Strings
« en: Sábado 1 de Diciembre de 2007, 03:41 »
Revise tu codigo, y la solucion es tan simple como que cambies de lugar el nombre al mismo tiempo que cambias la calificacion de lugar, pero debes usar la funcion strcpy para copiar a un temporal el nombre para hacer el intercambio, ademas descubri un error en la declaracion del vector de nombres, bueno, a continuacion te dejo que cambios tienes que hacer:

Código: Text
  1.  
  2.     // Primero debe de ir la dimension del vector de cadenas, y despues el tamaño de la cadena
  3.     char  nombre[20][30];
  4.  
  5.  

Código: Text
  1.  
  2.     float temp;
  3.     // Una variable temporal para el intecambio del nombre
  4.     char temp_nombre[30];
  5.  
  6.  

Código: Text
  1.  
  2.     for (i=0;i<=alumnos;i++)
  3.     {
  4.         for (j=i+1;j<=alumnos-1;j++)
  5.         {
  6.             if (prom[i]<=prom[j])
  7.             {
  8.                 temp=prom[j];
  9.                 prom[j]=prom[i];
  10.                 prom[i]=temp;
  11.                 // fijate la utilizacion de la funcion strcpy para hacer el intercambio
  12.                 strcpy(temp_nombre, nombre[j]);
  13.                 strcpy(nombre[j], nombre[i]);
  14.                 strcpy(nombre[i], temp_nombre);
  15.             }
  16.         }
  17.     }
  18.  
  19.  

Espero te ayude.

Saludos :)

756
C/C++ / Re: Necesito Hacer Una Matriz
« en: Miércoles 28 de Noviembre de 2007, 19:42 »
jeje, si JuanK, tienes razon, es clasico, como es fin de cursos, es el tiempo de aquellos que estuvieron todo el semestre de (perdonando la palabra) huevones, y ahora quieren todo "peladito y en la boca" para pasar la materia, cuando debieron de haber estudiado, preguntado, leido libros etc. con tiempo,  :lightsabre:

757
C/C++ / Re: Rellenar Una Matriz Desde Un Fichero
« en: Sábado 24 de Noviembre de 2007, 22:05 »
Estas leyendo el archivo, como si fuera un archivo binario, y en realidad, el archivo es de texto.

Tienes 2 opciones:

1. Crear el archivo de manera binaria, para poderlo leer de manera binaria.
2. Si utilizas archivos de texto, debes leer los datos como si fueran de texto, y hacer la conversion a int (binario).

Saludos :)

758
Visual C++ / Re: Programa Que Cuente Caracteres(letras,numeros..)
« en: Martes 20 de Noviembre de 2007, 23:57 »
No se porque dices que un array de tipo char no admite numeros, claro que los admite.

Ahora, si lo que pasa es que tu quieres es que AUTOMATICAMENTE detecte si es numero o no, claro que eso no es posible, tu eres el que tienes que diferenciar los numeros de las letras por medio de comparaciones (lease if o switch..case)., pero pues ese el el ejercicio.

759
C/C++ / Re: Estructuras En Disco Duro
« en: Sábado 17 de Noviembre de 2007, 20:15 »
me parece que estas mal en esto:

Código: Text
  1.  
  2.  fwrite(aux,sizeof(tam), 1, alumno);
  3.  
  4.  

no deberia ser:
Código: Text
  1.  
  2.  fwrite(aux,sizeof(aux), 1, alumno);
  3.  
  4.  

porque con sizeof(tam), le estas diciendo que te de el tamaño de la variable tam (no su contenido), y necesitas el tamaño de la variable aux. :lightsabre:

760
C/C++ / Re: Arreglo Tipo Char...muy Pequeño
« en: Jueves 15 de Noviembre de 2007, 18:54 »
jaja me gano por unos minutos eternal idol, miemtras escribia mi mensaje :P

761
C/C++ / Re: Arreglo Tipo Char...muy Pequeño
« en: Jueves 15 de Noviembre de 2007, 18:52 »
Primero un consejo, siempre coloca tu codigo con [ code][ /code], (sin espacio en los corchetes) hace que sea mas legible.

Citar
El arreglo está declarado en dos dimensiones porque en C++ no existen sentencias de tipo string, sino sólo de tipo char

Eso no es cierto, en C++ si existe el tipo string, esta declarado dentro del namespace std, solo tienes que añadirlo a tu codigo, pero deberias usar ademas cout y cin. Es C el lenguaje en que no existe string, solo char.

Te pongo el codigo para que te des cuenta de la diferencia

C++
Código: Text
  1.  
  2. #include <iostream>
  3.  
  4. // Nota el uso del namespace
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     string nombre[3];
  10.     int x, y;
  11.  
  12.     for (x = 0; x <= 2; x++)
  13.     {
  14.         cout << "inserte nombre " << x + 1;
  15.         cin >> nombre[x];
  16.     }
  17.  
  18.     for (y=0; y<=2; y++)
  19.     {
  20.         cout << "\n" << nombre[y] << "\n";
  21.     }
  22.  
  23.     system ("pause");
  24.     return 0;
  25. }
  26.  
  27.  

Asi que para hacerlo en C++, deberias hacer algo como esto:

Código: Text
  1.  
  2. void leer_nombre(string nombre[])
  3. {
  4.     int x;
  5.     for (x = 0; x <= 2; x++)
  6.     {
  7.         cout << "inserte nombre " << x + 1;
  8.         cin >> nombre[x];
  9.     }
  10. }
  11.  
  12.  

y el llamado de la funcion:
Código: Text
  1.  
  2.     leer_nombre(nombre);
  3.  
  4.  

Si te decantas por utilizar C en lugar de C++, la rutina seria asi:
Código: Text
  1.  
  2. void leer_nombre(char nombre[][10])
  3. {
  4.     int x;
  5.     for (x = 0; x <= 2; x++)
  6.     {
  7.         printf ("inserte nombre %d ", x+1);
  8.         scanf("%s", nombre[x]);
  9.     }
  10. }
  11.  
  12.  

Nota como pongo el tamaño de la segunda dimension en el parametro, no es necesario poner el tamaño de la primera dimension.

Con esto ya tienes para terminar lo demas.

Saludos :)

762
C/C++ / Re: Problema Array Bidimensional, Please!!
« en: Jueves 8 de Noviembre de 2007, 19:49 »
Un detalle mas, todos los array comienzan en el elemento 0, no en el uno, por lo tanto, en una matriz (o array multidimensional, como lo quieras ver) el primer elemento es el
  • [0], no el [1][1]. En un array de 8 elementos, los valores van del 0 al 7, en uno de 10, los valores van del 0 al 9 y asi sucesivamente


Lo comento por que veo que erroneamente tratas de leer la primera letra con c[1], y seria mas bien con c[0]

Saludos :)

763
C/C++ / Re: Problema Array Bidimensional, Please!!
« en: Jueves 8 de Noviembre de 2007, 19:41 »
Tu error esta en la declaracion del array, en C, cuando apartas espacio para las cadenas de caracteres, debes de apartar espacio para el caracter de fin de cadena o nulo '\0', es decir, si vas a almacenar 2 caracteres en la cadena, debes apartar espacio para tres, si vas a almacenar 10, debes apartar espacio para 11, es mas, aun cuando la cadena este vacia "", en realidad contiene un caracter, y ese caracter es presisamente el nulo '\0'.

Todas las funciones de C que trabajan con cadenas, utilizan el nulo como fin de cadena, por lo tanto, al no encontralo, siguen leyendo en la memoria hasta que lo encuentren, esa es la razon por la que obtienes basura.

Resumiendo, te pondre lo incorecto y lo correcto:

Código: Text
  1.  
  2. #include <stdio.h>
  3. // Codigo incorrecto, no ejecutar, se debe apartar espacio para 3 caracteres
  4. char c[8][2]={"c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8"};
  5. int i;
  6.  
  7. int main()
  8. {
  9.     for (i = 0; i < 8; i++)
  10.     printf ("%s\n", c[i]);
  11.  
  12.     return 0;
  13. }
  14.  
  15.  

Código: Text
  1.  
  2. #include <stdio.h>
  3.  
  4. // Codigo correcto
  5. char c[8][3]={"c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8"};
  6. int i;
  7.  
  8. int main()
  9. {
  10.     for (i = 0; i < 8; i++)
  11.     printf ("%s\n", c[i]);
  12.  
  13.     return 0;
  14. }
  15.  
  16.  
  17.  

Saludos :)

764
Pascal / Re: No Se Como Reslover Este Ejercicio
« en: Lunes 29 de Octubre de 2007, 00:43 »
Tareas no se hacen, se da ayuda en dudas puntuales sobre codigo que ya tengas hecho. de todas formas, te dare una pista, para obtener las monedas es cuestion de hacer divisiones sucesivas, tomas el cociente, como resultado, y con el residuo haces otra division, asi hasta que llegas a la moneda minima. (1.70 / 1 = 1 y sobra .70, .70 /.50 = 1 y sobra .20, .20 /.25 = 0 y sobra .20, .20 /.10 = 2 y sobra 0, asi obtienes 1 moneda de 1, 1 moneda de .50, 0 monedas de .25 y 2 monedas de .10)

Saludos :)

765
C/C++ / Re: Guerra Naval En C/c++
« en: Lunes 22 de Octubre de 2007, 22:11 »
pues si te la estas jugando, dejame decirte que ya perdiste el juego.

No se hacen tareas en este foro, debes hacerlo tu mismo, y si ya tienes algo hecho por ti, entonces puedes poner la parte del codigo en la que tengas dudas. En caso contrario dudo que alguien te haga la tarea completa.

Saludos :-)

766
C/C++ / Re: Que Es Mejor Dev O Visual?
« en: Miércoles 17 de Octubre de 2007, 18:20 »
Pues yo añadiria Code::blocks a la lista, en mi opinion es mucho mejor que el dev-cpp y tambien utiliza el compilador MingW/GCC.

Aunque por otro lado, considero inutil la encuesta, ya que cada quien considera mejor al IDE que mas se adapta a su estilo de trabajo. A fin de cuentas, no hay mejor ni peor, simplemente son opciones diferentes ;)

Saludos :)

767
C/C++ / Re: Calcular El Factorial Sin Usar *
« en: Miércoles 17 de Octubre de 2007, 18:14 »
Cita de: "hano"
Si es una tarea tuya... ¿Qué nos aporta a los demás? ¿Vamos a postear todas nuestras prácticas... hasta la de rellenar un array de atrás alante? Yo también hice muchas prácticas chorras...
Pues no tiene nada de malo hacerlo, que yo sepa, esta prohibido y se considera de mal gusto el pedir que alguien te haga la tarea, pero no hay ningun reglamento que diga que no puedo poner algun codigo que yo haya hecho.

Si consideras que a ti no te sirve, pues simplemente ignoralo ;), habra alguien a quien si le sirva.

Saludos :)

768
C/C++ / Re: Calcular El Factorial Sin Usar *
« en: Miércoles 10 de Octubre de 2007, 18:47 »
Cita de: "hano"
¿Qué ganas conviertiendo un algoritmo de O(n) en O(n^2)?
Quizas cumplir con alguna Tarea desquiciada de algun maestro,ya ves a veces los maestros piden tareas para comprobar si saben hacer x cosa, aunque no se haga de manera eficiente  :blink:

769
C/C++ / Re: Conjuntos, Busqueda E Impresion De Elementos
« en: Miércoles 10 de Octubre de 2007, 18:25 »
Es muy simple, vas por buen camino, no necesitas ninguna libreria extra aparte de string.h, solo necesitas declarar una matriz de cadenas de la siguiente manera:

Código: Text
  1.  
  2. char ConjuntoA[3][20] = { "Casa", "Auto", "Calle 29"};
  3. char Elemento[20] = "Casa";
  4.  
  5.  

y entonces ya puedes hacer hacer la comparacion de las cadenas:

Código: Text
  1.  
  2.  if (strcmp(ConjuntoA[i], Elemento) == 0)
  3.  
  4.  

Con esta informacion supongo que ya podras hacer lo demas. Solo ten cuidado de declarar suficiente espacio para el tamaño de tus cadenas (en este caso, yo use tamaño 20) y suficiente espacio para el total de elementos (en este caso 3, pero si utilizas 10, por ejemplo, solo cambia el 3 por el 10

Saludos 8)

770
C/C++ / Re: Print Screen En C++ Grafico
« en: Domingo 7 de Octubre de 2007, 21:09 »
Tu pregunta es muy vaga, depende de que compilador y libreria grafica estes utilizando (cosa que no mencionas), pero una solucion seria guardar la pantalla como archivo BMP, y de ahi abrirla con Paint o algun programa de ese tipo, y asi imprimirla.

Saludos :hola:

771
C# / Re: Gosub En C#
« en: Domingo 30 de Septiembre de 2007, 22:14 »
En C# no hay equivalente a gosub, pero puedes sustituirlo definiendo un metodo (funcion) dentro de la clase, y entonces llamas al metodo en lugar de hacer gosub.

Saludos :)

772
C# / Re: Problema Con Linkedlist + Estructuras
« en: Sábado 29 de Septiembre de 2007, 05:12 »
Tomado de la ayuda de MSDN
Citar
No se puede modificar el valor devuelto de 'expresión' porque no es una variable
Cannot modify the return value of 'expression' because it is not a variable

Se intentó modificar un tipo de valor que es el resultado de una expresión intermedia. Debido a que dicho valor no es persistente, queda sin modificar.

Para resolver este error, almacene el resultado de la expresión en un valor intermedio o utilice un tipo de referencia para la expresión intermedia.

Ejemplo
En el código siguiente se genera el error CS1612.

Código: Text
  1.  
  2.   Copiar código
  3. // CS1612.cs
  4. public struct MyStruct
  5. {
  6.     public int Width;
  7. }
  8.  
  9. public class ListView
  10. {
  11.     public MyStruct Size
  12.     {
  13.         get { return new MyStruct(); }
  14.     }
  15. }
  16.  
  17. public class MyClass
  18. {
  19.     public MyClass()
  20.     {
  21.         ListView lvi;
  22.         lvi = new ListView();
  23.         lvi.Size.Width = 33;  // CS1612
  24.         // Use this instead:
  25.         // MyStruct temp = lvi.Size;
  26.         // temp.Width = 33;
  27.     }
  28.  
  29.     public static void Main() {}
  30. }
  31.  
  32.  
  33.  

O mejor aun, si no quieres usar una variable intermedia (temp), utiliza mejor una clase en lugar de una estructura, lo probe y funciona correctamente.

Saludos :)

773
C++ Builder / Re: Apuntadores Dobles En C++
« en: Miércoles 26 de Septiembre de 2007, 18:53 »
Citar
¿Despues de finalizar las clases siempre va punto y coma?

Asi es.

Citar
¿si no pongo "using namespace std;" cuando utilizo conio, el programa no funcionara? ya que nunca utilizaba eso y si funcionaba, si utilizo las librerias aunque cuando publique el programa no las agrege

el "using namespace std;" no es para utilizar conio, es para la utilizacion de cout, cin, y similares. En compiladores antiguos de C++ no era necesario, pero en compiladores mas nuevos (como el que yo utilizo), si es necesario, puesto que esas funciones estan definidas en namespaces, el uso de namespaces es para evitar ambigüedades, o sea, que tu puedes tener dos funciones que se llamen igual, pero en namespaces diferentes, en ese caso, antepones el nombre del namespace a la funcion, y asi evitas la ambiguedad. o sea, que si no utilizas namespaces, tendrias que escribir:

Código: Text
  1.  
  2. std::cout << "Hola Mundo\n";
  3.  
  4.  

El tema de namespaces es muy amplio, si tienes mas dudas, busca acerca de namespaces, para que tengas mas informacion/ejemplos.

Saludos :)

774
C++ Builder / Re: Apuntadores Dobles En C++
« en: Martes 25 de Septiembre de 2007, 02:42 »
Antes que nada, te recomiendo que indentes tu codigo y utilices [ code ][ /code ] (sin espacio entre los corchetes) al postear, eso hace mas clara la lectura.

Queda un error, pero en esa parte no se que es lo que quieres hacer, asi que no lo he corregido, necesitaras estudiar muuuuuucho mas, pues se nota que te hace falta practica, he dejado comentarios para que te des cuenta de cuales fueron tus errores :P

Código: Text
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <iostream> // necesario para utilizar cout
  5.  
  6. using namespace std; // necesario para utilizar cout
  7.  
  8. class cliente
  9. {
  10. private:
  11.     char num[30];
  12.     cliente * sig;
  13. public:
  14.     char * cliente:: getnum()
  15.     {
  16.         return num;
  17.     }
  18.     void cliente:: clien()
  19.     {
  20.         gets(num);
  21.     }
  22.     void cliente:: direccion(cliente * siguiente)
  23.     {
  24.         sig=siguiente;
  25.     }
  26.     cliente* cliente:: sigue()
  27.     {
  28.         return sig;
  29.     }
  30. }; // Olvidate poner un punto y coma aqui
  31. void insertar_antes(cliente **inicio)
  32. {
  33.     cliente *aux, * aux2;
  34.     aux2= * inicio;
  35.     aux= new cliente;
  36.     aux->clien();
  37.     aux->direccion(aux2);
  38.     * inicio= aux;
  39. }
  40. void creacion(cliente** inicio)
  41. {
  42.     cliente *aux;
  43.     aux=new cliente;
  44.     aux-> clien();
  45.     aux->direccion(NULL);
  46.     *inicio= aux;
  47. }
  48. void meter(cliente** inicio)
  49. {
  50.     cliente *aux; // en esta definicion pusiste clien,y es cliente
  51.     aux= *inicio;
  52.     if (aux==NULL)
  53.         creacion(&aux);
  54.     else
  55.         insertar_antes(&aux);
  56.     *inicio=aux;
  57. }
  58. void sacar(cliente** inicio)
  59. {
  60.     cliente*aux;
  61.     cliente *aux2;
  62.     aux=*inicio;
  63.     if (aux==NULL)
  64.         cout<<"Ta vacia";
  65.     else
  66.     {
  67.         aux2= aux-> getnum(); // en esta parte no se que quieres hacer
  68.         delete aux;
  69.         *inicio=aux2;
  70.     }
  71. }
  72. char menu()
  73. {
  74.     char opc;
  75.     clrscr();
  76.     gotoxy(30,3);
  77.     cout<<"MENU";
  78.     gotoxy(28,7);
  79.     cout<<"1)Meter";
  80.     gotoxy(28,9);
  81.     cout<<"2)sacar";
  82.     gotoxy(28,11);
  83.     cout<<"3)Salir";
  84.     do
  85.     {
  86.         opc=getch();
  87.     }
  88.     while (!strchr("123",opc));
  89.     return opc;
  90. }
  91. main()
  92. {
  93.     cliente*cima;
  94.     cima=NULL;
  95.     char opc;
  96.     do
  97.     {
  98.         opc=menu();
  99.         switch (opc)
  100.         {
  101.         case'1':
  102.             meter(&cima);
  103.             break;
  104.         case'2':
  105.             sacar(&cima);
  106.         }
  107.     }
  108.     while (opc!='3');
  109. }
  110.  
  111.  
  112.  

Saludos :)

775
C/C++ / Re: Duda Del Preprocesador
« en: Martes 25 de Septiembre de 2007, 02:08 »
Acabo de recordar que SI hay manera de hacerlo, pero las directivas de preprocesador se escribirian de manera diferente :P

Código: Text
  1.  
  2. #if defined( _DEBUG ) || defined( _RELEASE )
  3.    //Codigo
  4. #endif
  5.  
  6.  

Nota el uso de defined y los parentesis.
Creo que de esa forma es mas simple
Saludos :)

Páginas: 1 ... 29 30 [31] 32