• Lunes 13 de Mayo de 2024, 23:43

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 ... 25 26 [27] 28 29 ... 32
651
C/C++ / Re: Borlan C++ 3.1,,
« en: Viernes 16 de Mayo de 2008, 18:50 »
Como ya se te dijo, es un compilador muy viejo. Usa otras opciones, si estas aprendiendo en la universidad, cualquier otra opcion de compilador te sirve, y ademas gratuita (Code::Blocks/Mingw, Dev-cpp, Visual C++ Express). Eso sin contar que si dices "me lo traje para la casa" estas implicando que lo copiaste ilegalmente, eso es pirateria y esta prohibida en el foro, para acabar pronto. Si tanto te empeñas en conseguir una explicacion usando software pirata, tendras que arreglartelas solo.

652
Visual C++ / Re: Fallo Error Lnk2001
« en: Jueves 15 de Mayo de 2008, 22:13 »
el "unresolved external symbol _alloca" quiere decir que estas llamando a una funcion en tu codigo llamada alloca, pero no encuentra la definicion de la funcion en las librerias ni en tu codigo fuente.

Verifica que no hayas escrito mal el nombre de la funcion a la que estas llamando, o que estes llamando a las librerias necesarias (o sea, la libreria en donde debe de estar definido alloca) en propiedades/vinculador/entrada/dependencias adicionales (si utilizas VC++ 2008, en otras versiones la opcion puede estar en un lugar diferente).

Saludos :hola:

653
C# / Re: Tomar Parte De Un String
« en: Jueves 15 de Mayo de 2008, 18:58 »
1. De lo primero que preguntas, utiliza los metodos LastIndexOf(), IndexOf(), y Substring() de la clase string para separar las cadenas, las funciones LastIndexOf(), IndexOf() devuelven el indice (posicion) en donde se encuentra la cadena especificada, podrias utilizar algo como LastIndexOf("\"), ya que las cadenas parecen estar separadas por diagonales invertidas, y Substring() crea una nueva cadena a partir de la posicion especificada en la cadena original. Recuerda nada mas que los indices comienzan en cero, es decir, la primera posicion de la cadena es cero, la segunda es uno, la tercera es dos, y asi sucesivamente.

2. Respecto a lo segundo que preguntas, no entiendo bien que quieres hacer, habrias de explicarlo mas detallado.

Saludos :hola:

654
C# / Re: Ordenar Matriz Bidimensional
« en: Jueves 15 de Mayo de 2008, 18:39 »
Hay muchas formas de hacerlo, pero la que yo haria, seria pasar el contenido de la fila de la matriz a un vector, ordenar el vector, y regresar el contenido ordenado del vector a la fila de la matriz.

655
C++ Builder / Re: Error Sin Sentido En Llamada A Procedimiento.
« en: Jueves 15 de Mayo de 2008, 18:36 »
Algo estas haciendo mal, pero sin el codigo, es dificil saber.

Postea los archivos .cpp y .hpp, que contienen tu declaracion, para averiguar en donde esta el problema

656
MySQL / Re: Borrar Mysql De Todo Registro
« en: Jueves 8 de Mayo de 2008, 19:28 »
Las contraseñas de MySQL quedan almacenadas en una tabla dentro del propio MySQL, no dentro del registro, ni en ningun otro lado, asi que si pierdes la contraseña del root, pierdes todo, lastima.

Lo unico que te queda es desinstalar MySQL completamente, borrar todos los subdirectorios donde lo hayas instalado, instalar MySQL de nuevo, y restaurar el resto de tablas desde el respaldo que debes tener de la BD. Si no tienes respaldo, pues te aseguro que a la proxima vez, no olvidaras hacer uno ;), solo asi se aprende.

Saludos :hola:

657
C# / Re: Vector De Structura
« en: Martes 6 de Mayo de 2008, 20:53 »
Tienes razon, como te lo puse originalmente no funciona, estuve investigando y resulta que cuando haces APP[] VectorAPP = new APP[10] no crea un array de diez objetos, sino un array con REFERENCIAS a diez objetos, pero los objetos aun no existen y por lo tanto, los marca como null.

La solucion es crear el objeto despues de crear el array, esto lo puedes hacer individualmente o mediante un ciclo, como lo prefieras. a continuacion te pongo la manera correcta, por cierto, recuerda que los array comienzan con cero y no con uno, un array de 10 elementos, va del 0 al 9 y no del 1 al 10.

Código: Text
  1.  
  2.         public void FicheroUnico()
  3.         {
  4.             /// Crea un vector con referencias a 10 objetos
  5.             /// las referencias valen null hasta que no se crea
  6.             /// el objeto.
  7.             APP[] VectorAPP = new APP[10];
  8.            
  9.             /// Creacion del objeto
  10.             VectorAPP[0] = new APP();
  11.             VectorAPP[0].desviacion = 3;
  12.             VectorAPP[0].valores[0] = 4;
  13.         }
  14.  
  15.  
  16.  
  17.  


Código: Text
  1.  
  2.             /// Creacion de los 10 objetos mediante un ciclo
  3.             int i;
  4.             for (i = 0; i < 10; i++)
  5.             {
  6.                 VectorAPP[i] = new APP();
  7.             }
  8.  
  9.  

Saludos :hola:

658
C# / Re: Insertar Un Nodo Antes De Otro Con Una Referenci
« en: Sábado 3 de Mayo de 2008, 03:45 »
Bueno, se que es contra la politica del foro hacer la tarea, pero este caso me parecio interesante, porque la mayoria de los algoritmos insertan el nodo despues del nodo encontrado, y no antes, asi que me tome la libertad de hacerlo, y posteo el resultado, espero que no lo eliminen ;)

Código: Text
  1.  
  2.         static void InsertarAntes(ref NodoT RaizListaAlumnos, string Dato, string DatoReferencia)
  3.         {
  4.             if (RaizListaAlumnos == null)
  5.             {
  6.                 RaizListaAlumnos = new NodoT();
  7.                 RaizListaAlumnos.Informacion = Dato;
  8.                 RaizListaAlumnos.Liga = null;
  9.             }
  10.             else
  11.             {
  12.                 NodoT UltimoNodo = RaizListaAlumnos;
  13.                 NodoT PenultimoNodo = UltimoNodo;
  14.                 bool Salir = false;
  15.                 while (!Salir && UltimoNodo != null)
  16.                 {
  17.                     if (UltimoNodo.Informacion == DatoReferencia)
  18.                         Salir = true;
  19.                     else
  20.                     {
  21.                         PenultimoNodo = UltimoNodo;
  22.                         UltimoNodo = UltimoNodo.Liga;
  23.                     }
  24.                 }
  25.                 NodoT NuevoNodo = new NodoT();
  26.                 NuevoNodo.Informacion = Dato;
  27.                 NuevoNodo.Liga = UltimoNodo;
  28.  
  29.                 /// Esta condicion es en el caso especial de que queramos
  30.                 /// insertar antes del primer nodo, en cuyo caso debemos
  31.                 /// hacer que el primer nodo sea el nuevo nodo.
  32.                 if (RaizListaAlumnos == PenultimoNodo && RaizListaAlumnos == UltimoNodo)
  33.                 {
  34.                     RaizListaAlumnos = NuevoNodo;
  35.                 }
  36.                 /// Si no es el primer nodo, se inserta en medio.
  37.                 else
  38.                 {
  39.                     PenultimoNodo.Liga = NuevoNodo;
  40.                 }
  41.             }
  42.         }
  43.  
  44.  

Lo probe con los siguientes datos:
Código: Text
  1.  
  2.             InsertarAntes(ref Raiz, "Pedro", "Pedro");
  3.             InsertarAntes(ref Raiz, "Juan", "Pedro");
  4.             InsertarAntes(ref Raiz, "Luis", "Pedro");
  5.             InsertarAntes(ref Raiz, "Paco", "Luis");
  6.             InsertarAntes(ref Raiz, "Jesus", "Hugo");
  7.             InsertarAntes(ref Raiz, "Hugo", "Juan");
  8.  
  9.  

Si el dato no se encuentra, inserta el nodo al final.

659
C# / Re: Insertar Un Nodo Antes De Otro Con Una Referenci
« en: Viernes 2 de Mayo de 2008, 02:03 »
mmmm no es gran ciencia, queria que lo analizaras, pero ni modo, aqui te va:

dentro del while que haces la busqueda, en la parte que dice:
Código: Text
  1.  
  2. UltimoNodo=UltimoNodo.Liga;
  3.  
  4.  

debe ser:

Código: Text
  1.  
  2. /// Haces que PenultimoNodo tenga la direccion de UltimoNodo, de ese modo,
  3. /// al avanzar UltimoNodo, PenultimoNodo sienpre tendra la direccion anterior.
  4. PenultimoNodo = UltimoNodo;
  5. UltimoNodo = UltimoNodo.Liga;
  6.  
  7.  

660
C# / Re: Insertar Un Nodo Antes De Otro Con Una Referenci
« en: Viernes 2 de Mayo de 2008, 00:26 »
En ese caso, adivine bien, y entonces aplica la respuesta que te he dado antes.
Resumiendo y repitiendo.

1. Añade una condicion al ciclo para salir cuando UltimoNodo sea igual a null, en caso de no encontrarlo.

2. Haz que PenultimoNodo este atras de UltimoNodo, para que realmente este uno antes, y no se quede en el primer nodo.

661
C# / Re: Insertar Un Nodo Antes De Otro Con Una Referenci
« en: Jueves 1 de Mayo de 2008, 19:29 »
Para poder entender mejor el problema necesitas decirnos que tipo de lista es? Simple o circular? Ligada, o doblemente ligada?

A simple vista parece simple, con una liga, y con ese razonamiento me parece que hay algo mal en este ciclo:

Código: Text
  1.  
  2.         while(UltimoNodo.Informacion!=DatoReferencia)
  3.         {
  4.           UltimoNodo=UltimoNodo.Liga;
  5.          
  6.         }
  7.  
  8.  

Que pasa si no encuentras DatoReferencia? No tiene forma de salir del ciclo, creo que falta una condicion, que UltimoNodo != null a menos que fuera circular, en cuyo caso, necesitas una variable para saber cuando llegas al primer elemento otra vez, porque si no, al llegar al ultimo, como apunta al primero, se regresa al principio, y como dije antes, nunca saldrias del ciclo.

ahora, en esta parte:

Código: Text
  1.  
  2.         NodoT UltimoNodo=RaizListaAlumnos;
  3.         NodoT PenultimoNodo=RaizListaAlumnos;
  4.  
  5.  

haces que UltimoNodo y PenultimoNodo apuntes al mismo nodo (raiz), pero despues en el ciclo solo avanzas solamente UltimoNodo, y dejas a PenultimoNodo retrasado, o sea que si el elemento que buscas esta en la posicion 10, ultimo nodo estara en 10, pero penultimo nodo siempre estara en el principio (raiz), y por lo tanto, no sera al penultimo, asi que lo que debes hacer, es avanzar a penultimo nodo, de tal forma que siempre este un paso atras de ultimo nodo, no se si me explico.

Creo que por ahi estaria el error.

Saludos :hola:

662
C# / Re: Vector De Structura
« en: Martes 29 de Abril de 2008, 18:55 »
Es muy raro, porque a mi si me funciona.

Quizas estas declarando mal algo, postea tu codigo, para saber que pasa.

Saludos :hola:

663
Pascal / Re: Contar Palabras
« en: Martes 29 de Abril de 2008, 18:47 »
Bueno, para contar, simplemente utiliza una variable que va a ser el contador, valga la redundancia, aunque el problema no seria contarlos, sino identificarlo.

Para el primer caso, yo comprobaria si la letra es t, en caso de ser cierto, preguntar si la letra siguiente es h, y en ese caso, incrementar el contador.

El segundo caso es mas sencillo, para identificar palabras, tienes que encontrar las separaciones, o sea, los espacios, y si  encuentras un espacio, eso indica que tienes que contar otra palabra.

El tercer caso seria una ampliacion del segundo caso, o sea, una vez que identificas una palabra, preguntarias si la primera letra de esa palabra es igual a la letra que deseas, en caso afirmativo, podrias usar una variable "bandera" o "flag" cambiando su valor a true (verdadero) para indicar que si es igual, entonces sigues leyendo hasta encontrar el fin de la palabra (que estara señalada con un espacio) y una vez que encuentres la ultima letra de la palabra, preguntas si la letra es igual a la letra que quieres Y la bandera es igual a true, si esta condicion es verdarera, incrementas tu contador. Para recorrer el texto, necesitarias un ciclo.

Espero que eso te ayude.

Saludos :hola:

664
C/C++ / Re: Fahrenheit O Celsius En C++
« en: Martes 29 de Abril de 2008, 02:34 »
Pues el enuncioado para mi es claro, si dice temperatura t, quiere decir que puede estar en cualquiera de los dos sistemas, y entonces, lo que tienes que hacer es convertirlo al otro, o sea, que si te dan la temperatura en farenheit, conviertela a centigrado, y si te la dan en centigrado, conviertela a farenheit, obviamente, necesitaras preguntarle al usuario, si desea convertir de C a F o de F a C, utilizando un menu claro. Ya tienes la idea, ya tienes las formulas, asi que ¡A trabajar! ;)

665
C/C++ / Re: Como Hacer Para Introducir Solo Numeros???
« en: Domingo 27 de Abril de 2008, 21:47 »
Captura el numero como texto, y despues lo conviertes a numero.

666
C/C++ / Re: ¿por Que Sale Esto?
« en: Sábado 26 de Abril de 2008, 19:11 »
Cita de: "mguerrerop"
¿Por qué num3 no toma al final el valor "5"?
¿Hay alguna forma de conseguirlo?
 
1. Porque num3 es flotante (float), y los numeros flotantes siempre tiene errores de redondeo, nunca obtendras numeros exactos si utilizas float, recuerda que son aproximaciones al numero verdadero.

2. No hay manera, tendras que vivir con ello ;)

667
C/C++ / Re: Trabajo Con Vectores
« en: Viernes 25 de Abril de 2008, 18:40 »
Pues mira, es dificil recomendarte con que seguir, nunca terminas de aprender, yo llevo como 8 años con C/C++, y aun hay muchas cosas que aprender, cada dia aprendo algo nuevo.

Podrias seguir con manejo de archivos, aprender sobre punteros, listas enlazadas, POO (en caso de que apenas lleves C), plantillas (templates), STL, librerias graficas, uff como dije, la lista es enorme.

Saludos y suerte :hola:

668
C# / Re: Vector De Structura
« en: Viernes 25 de Abril de 2008, 18:24 »
Mira waty00, en tu caso, cuando necesito tener un vector en una estructura, prefiero definirla como una clase, al fin y al cabo, un struct y un class, funcionan muy parecido, y me evito ese y otros errores al utilizar structs (he tenido otras dificultades con struct), solo que, para evitar que pueda "heredar" de la clase, la defino como sealed:

Código: Text
  1.  
  2.     sealed class AP
  3.     {
  4.         public string posicion;
  5.         public int[] valores = new int[10];
  6.         public int tamvalor;
  7.         public float media, varianza, desviacion;
  8.     }
  9.  
  10.  

De esa manera, el codigo que pones, si seria valido.
Código: Text
  1.  
  2.             AP[] VectorAP = new AP[10];
  3.             VectorAP[1].tamvalor = 1;
  4.             VectorAP[1].valores[3] = 1;
  5.  
  6.  

Ojala y eso resuelva tu problema.

Saludos :hola:

669
C/C++ / Re: Trabajo Con Vectores
« en: Viernes 25 de Abril de 2008, 03:22 »
Cita de: "joseblanco6663"
cuando voy a hcer la nueva asignacion del elemento lo hago sin ninguna instruccion repetitiva?,, o como accedo ala posiscion vec[5]?
Asi es, lo puedes hacer sin instrucciones repetitivas (ciclos).

El uso de ciclos es para facilitar las cosas, cuando vas a leer varios datos, por ejemplo, si tu vector fuera de 3 elementos, podrias hacer esto:

Código: Text
  1.  
  2. scanf("%d", &Vector[0]);
  3. scanf("%d", &Vector[1]);
  4. scanf("%d", &Vector[2]);
  5.  
  6.  

usando ciclos:

Código: Text
  1.  
  2. for (i = 0, i < 3; i++)
  3. scanf("%d", &Vector[i]);
  4.  
  5.  

Ahora, que pasaria si quisiera leer 50 elementos? Como crees que seria mas facil, escribir 50 veces scanf, cambiando el numero en cada scanf, o:

Código: Text
  1.  
  2. for (i = 0, i < 50; i++)
  3. scanf("%d", &Vector[i]);
  4.  
  5.  

Como dije en mi respuesta anterior, si solo quieres leer uno, utiliza el indice del elemento que quieras leer.

670
C/C++ / Re: Trabajo Con Vectores
« en: Jueves 24 de Abril de 2008, 20:37 »
Pue no se si entendi tu problema, me parece que dices que para añadir un elemento debes impirmir antes los demas? Eso no es cierto, si leiste 4 elementos, y tu vector es de 6, claro que puedes leer los otros dos despues, el acceso a los vectores es aleatorio, esto quiere decir que no es necesario que los leas en orden (aunque lo mas comun es leerlos en orden), simplemente utiliza el valor correcto del indice, ejemplo:

Código: Text
  1.  
  2. /// Leer el quinto elemento, recuerda que los indices de vectores comienzan en sero, asi que para el quinto elemento, el indice seria cuatro
  3.  
  4. scanf("%d", &Vector[4]);
  5.  
  6.  

y recuerda que no puedes leer mas valores de los que declaraste en tu vector, o sea, si declaras un vector de 10 elementos, no puedes leer mas de 10 elementos, porque sobrescribirias la memoria, aunque es perfectamente legal leer menos.

Saludos :hola:

671
C# / Re: Messamebox
« en: Jueves 24 de Abril de 2008, 20:05 »
Este es el procedimiento (pseudocodigo).

1. Lees la cedula.
2. Buscas la cedula en la base de datos
3. Si existe, impirmes el mensaje de que ya existe con MessageBox.
4.Si no existe, guardas la cedula en la base de datos.

672
C/C++ / Re: Búsqueda De Archivos En C++
« en: Miércoles 23 de Abril de 2008, 03:35 »
El problema es esta linea:
Código: Text
  1.  
  2. char *file="file.cpp"
  3.  
  4.  

utilizas file como un apuntador a char, pero no le asignas espacio en memoria. En la inicializacion que utilizas, no hay problema, porque la variable apunta a una cadena constante, pero si tratas de cambiarla, es probable que sobrescribas parte de la memoria, y por lo tanto se corrompe y por eso se "traba".

La solucion es que utilices un array de caracteres, o si te decides a seguir usando apuntadores, debes utilizar new/delete.

Código: Text
  1.  
  2. /// Utilizas un array de caracteres
  3. char file[30];
  4.  
  5.  

Código: Text
  1.  
  2. /// Utilizas apuntadores/memoria dinamica
  3. char* file;
  4.  
  5. file = new char[30];
  6.  
  7. /// Debes usar delete cuando ya no quieras usar la memoria
  8. delete file;
  9.  
  10.  

Saludos :hola:

673
Sobre los Foros de SoloCodigo / Re: Borrar Mi Cuenta
« en: Lunes 21 de Abril de 2008, 22:34 »
que yo sepa no se puede, solo un administrador del foro puede hacerlo, saludos :hola:

674
C/C++ / Re: Turbo C++ En Vista
« en: Domingo 20 de Abril de 2008, 22:02 »
Porque siempre se aferran al Turbo C, ya es obsoleto.

Si en la escuela se los piden, diganles que ya es obsoleto, ya no hay soporte para ese compilador.

En su lugar, diganles que ya hay otras opciones, Visual C++ Express, Mingw, Code::Blocks,. Dev-cpp, todas gratuitas, actualizadas y no obsoletas.

675
C/C++ / Re: Mi Codigo
« en: Sábado 19 de Abril de 2008, 03:17 »
Quizas no sabes que es depurar.

Depurar significa (en programacion) ejecutar paso a paso el programa. la mayoria de compiladores modernos permiten ejecutar paso a paso. Asi que andando ;)

Páginas: 1 ... 25 26 [27] 28 29 ... 32