• Viernes 3 de Mayo de 2024, 09:21

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.


Temas - JoRDi-18

Páginas: [1]
1
C/C++ / Algoritmos De Búsqueda/ordenación De Ficheros
« en: Domingo 28 de Noviembre de 2004, 21:28 »
Hola:

---> Para buscar en ficheros <---
En el caso en el que me encuentro, en el que trabajo con un "fichero-diccionario", se me ha ocurrido una forma para buscar una determinada palabra cuando se solicite. Se trata de "indexar" de alguna forma el fichero. Es decir, hay un fichero auxiliar que guarda el número de palabras para cada letra del abecedario: para la letra 'A' hay x1 palabras, para la 'B' hay x2 palabras, etc. Os contaré que tal funciona.
¿Sabéis alguna otra forma de buscar una palabra (una entrada/registro) en un fichero?


---> Para ordenar ficheros <---
Aquí ya estoy más perdido... He pensado en aprovechar lo anterior para ir más rápido, pero a partir de ahí ya estoy perdido. Me interesa colocar una palabra entre otras dos (todo el mundo sabe cómo funciona un diccionario).
Si alguien me pudiera decir alguna forma de hacer esto con un algoritmo no excesivamente complejo, le estaría muy agradecido!


Muchas gracias por adelantado!

2
C/C++ / Juego De Ficheros
« en: Domingo 28 de Noviembre de 2004, 17:13 »
Hola:

Esta vez se trata de:

1. Actualizar un fichero binario de datos ya existente. En principio, se actualizaría añadiendo los nuevos registros al final. Pero en posteriores mejoras, se reordenarían los registros del fichero (si fuera necesario), y se añadirían nuevos.

2. Una vez hemos terminado de trabajar con el fichero, no lo cerramos; ya que tenemos que pasar los datos binarios a un fichero de texto. Por tanto, vamos leyendo uno a uno los registros, y los "traducimos". La primera acción con fread sobre el fichero inicial (que ha sido abierto con "r+b", y la segunda con fprintf sobre un nuevo fichero que abrimos (con "w", ya que este fichero se tiene que crear y destruir en cada ejecución del programa; para actualizarlo, destruimos el viejo y creamos uno nuevo).


Pues, hay algo que falla... Supongo que la forma en la que abro los ficheros.

Adjunto el código en la siguiente dirección:
http://www.rafb.net/paste/results/uHkqD358.html

Ha sido modificado en las líneas: 16, 51 y 122 en adelante.

Se ha añadido una nueva función, FichTXT, que será la encargada de crear un fichero de texto legible a partir de la base de datos (*.dat) en binario. Se ha definido en la linea 16, se ha llamado en la línea 51, y se ha construido a partir de la línea 122.


Se me ha ocurrido que podría abrir el fichero inicial de una manera, cerrarlo, y después abrirlo de otra forma (solo lectura), pero quería consultaros antes para ver en qué estoy fallando y si puedo evitar lo que he dicho.


Muchas gracias!


P.D.: Adjunto también el archivo del código.

3
C/C++ / ¿cómo Pasar Un Puntero De Archivo A Una Función?
« en: Domingo 28 de Noviembre de 2004, 02:21 »
Hola!

Veréis, pretendo abrir un fichero desde el main (porque me interesa tenerlo abierto durante todo el programa) y cerrarlo también desde el main.

Para trabajar con el fichero, en teoría debería pasar el puntero del archivo a las funciones que lo vayan a trabajar. Pero no resulta, me da un error del tipo cannot.

El código del programa está en la siguiente dirección:

http://www.rafb.net/paste/results/44EHHH22.html


Si alguien pudiera darme alguna pista...



Muchas gracias por adelantado!!

Un saludo, Jorge.

4
Visual C++ / Instalación De Visual C++
« en: Sábado 3 de Julio de 2004, 18:14 »
Hola:

Tengo WinXP, y VC++ bajado del eMule. Al instalarlo, me dice "Error launching ... acmboot.exe".

Ejecuto acmboot.exe que está en la misma carpeta, y me sale un mensaje de error: "El parámetro no es correcto".


¿Alguien se le ocurre qué pasa?

Gracias!

5
C/C++ / Búsqueda "compleja" En Cadenas
« en: Viernes 2 de Julio de 2004, 00:50 »
Hola:

Supongamos que el usuario introduce una respuesta  una pregunta:

-  ¿ Te sientes gorda ?
-  Sí, me siento bastante gorda.

El propósito es, buscar en la cadena de la respuesta la palabra (Sí, sí, si, Si, SI, sI, sÍ), para, dependiendo de si se encuentra o no, hacer una cosa u otra.

Lo único que sé es que se debería utilizar la función strstr de la librería string.h. Supongo que tendré que hace además una función yo mismo, ya que no creo que esté en ninguna librería de C.

Os pido algunos consejos, y cómo puedo tratar el carácter í, ya que en eso estoy un poco perdido.

Tembién quería saber si hay alguna instrucción del preprocesador para sustituír el símbolo raro de la ñ que te aparece al ejecutar el programa, y colocar el verdadero símbolo de la ñ.

Muchas gracias.

6
C/C++ / Problema De Primos.
« en: Lunes 19 de Abril de 2004, 23:00 »
Hola:

Escribir una función que dado un entero n y un vector de enteros cuyas primeras componentes contienen los primeros n números primos, añadir en el vector el siguiente número primo.
Notar que para comprobar si un número es primo basta comprobar que no es divisible por ningún primo menor que él, y que todos los números primos son impares, exceptuando el 2.

Os paso lo que tengo hecho, pero está mal... A ver si podéis ayudarme.


Muchas gracias.

7
C/C++ / Problema Con Primos
« en: Lunes 19 de Abril de 2004, 22:10 »
Hola:

Escribir una función que dado un entero n y un vector de enteros cuyas primeras componentes contienen los primeros n números primos, añadir en el vector el siguiente número primo.
Notar que para comprobar si un número es primo basta comprobar que no es divisible por ningún primo menor que él, y que todos los números primos son impares, exceptuando el 2.

Os paso lo que tengo hecho, pero está mal... A ver si podéis ayudarme.


Muchas gracias.

8
C/C++ / Problemas Con Un Programa... Casi Acabado.
« en: Viernes 13 de Febrero de 2004, 23:26 »
Hola!
Necesito ayuda:

Con este programa:
                   http://rafb.net/paste/results/C1205987.html
se genera contenido pseudo-aleatorio en un fichero.

Y con este otro:
                   http://rafb.net/paste/results/jx407622.html
se ordena el contenido del fichero anterior. Esto es, las entradas o registros se ordenan de menor a mayor según un campo del registro (codAlumno := Código del alumno).

Pero este segundo programa no funciona correctamente. Compila perfectamente, pero da fallo en tiempo de ejcución. Para controlar dónde puede fallar más concretamente, encontraréis líneas de código de tipo

Código: Text
  1.  
  2. printf (&#34;Bien %d&#34;, cont);
  3.  
  4.  

, siendo cont un contador que controla el número de "accesos" que va superando (por ejemplo, si el programa se ejecuta correctamente tras solicitar el nombre de un fichero, se imprimirá por pantalla "Bien 1").

Así, dentro del código he puesto el lugar desde donde comienza a fallar.

¿Podéis ayudarme a descubrir dónde me estoy equivocando?

Muchas gracias!!

9
C/C++ / ¿cómo Crear Un Fichero Desde Un Programa?
« en: Viernes 13 de Febrero de 2004, 12:41 »
Es muy sencillo, pero no sé hacerlo:

El programa te pide que introduzcas el nombre del fichero de salida.
El usuario introduce el nombre con el que se creará el fichero de salida.
Pero, el archivo que se crea, no tiene ninguna extensión (.txt, .dat, etc.).

Código: Text
  1.  
  2.  printf (&#34;Introduce el nombre del archivo a generar: &#34;);
  3.  scanf (&#34;%s&#34;, nombre);
  4.  
  5.  f1 = fopen(nombre, &#34;w&#34;);
  6.  
  7.  

Así creo que se verá más claro.

Bueno, mi intención es quen el fichero que se cree vaya con la "extensión incluida".

Bueno, creo que se me acaba de ocurrir ahora mismo  :lol: , así que para los que no sabíais, lo pongo:

Introducir como nombre: "nombredearchivo.extension", y ya está! Era simplemente eso, como dije una tontada pero yo no lo sabía!  :whistling:

10
C/C++ / Creación De Ficheros Aleatorios
« en: Lunes 9 de Febrero de 2004, 23:08 »
Se pide constuir un algoritmo, cuya función sea generar ficheros con un contenido aleatorio.

Dicho fichero se utilizará para probar a otros algoritmos, cuya función sea trabajar con unos archivos dato extraídos de un determinado fichero (el cual pretendemos sea nuestro fichero aleatorio ("Random"). El algoritmo que debemos construir debe ser fácilmente modificable.

Tomemos como módelo de fichero Random uno del tipo:

codAlumno                 codAsignatura            Puntos
001                                           018                 7.8
484                                           012                 3.4

Así pues, nuestro algoritmo, apoyándose en una estructura "struct datos dato", irá escribiendo en un fichero los datos que se vayan "fabricando" aleatoriamente.

Las líneas del archivo tendrán, cada una, la información de la nota de una asignatura de un determinado alumno. Controlaremos estás "líneas" o "informaciones" mediante un bucle for, por ejemplo.

He aquí las mayores dificultades del programa:
1. Generar un número DE 3 DÍGITOS, sabiendo que este número se encuentra entre 0<num<=MAX. No se dará por válido un codAlumno de tipo "1" (deberá ser 001). He pensado que este número puede construirse utilizando una cadena de números de 4 componentes: 3 componentes para cada dígito, y otra componente para el final de cadena '\0'. Esta cadena se imprimirá en el archivo, sabiendo que cuando se lea este archivo para toma de datos, estos tres dígitos se interpretarán como un número entero de 3 cifras, y no como un vector de 3 cifras. Podemos generar el número aleatorio con las funciones que todos sabréis: rand y srand. ¿Cómo se hace esto?

2. Análogamente se procedería para codAsignatura.

3. ¿Cómo generar un número decimal CON 3 DECIMALES, comprendido entre 0 <= num <=  10?

4. Suponiendo que en codAlumno nos interesasen las iniciales del alumno, se procedería de manera similar; con las funciones anteriormente citadas. ¿Pero cómo se haría exactamente?


Quizás sea un reto más que una duda. En fin, si el moderador lo cree conveniente, que lo traslade al subforo Retos.


Un saludo!

11
C/C++ / Operadores De Indirección (*), De Dirección (&)...
« en: Viernes 6 de Febrero de 2004, 13:35 »
Hola:

Bueno, al parecer el lío que tenía de los operadores de indirección y dirección es aún mayor del que pensaba...

Me gustaría que me explicaseis cómo se útilizan, con qué se puede utilizar, etc. Algo general. Y si fueseis tan amable de poner algunos buenos apuntes de Internet que traten este apartado os lo agradecería muchísimo.

12
C/C++ / Necesito Graphics.h
« en: Lunes 19 de Enero de 2004, 20:04 »
Necesita esta librería, y si podeis decirme de alguna libreria mas de gráficos, os lo agradecería un montón.

Muxas gracias!

13
C/C++ / Trabajo Con Enteros
« en: Domingo 18 de Enero de 2004, 20:09 »
Escribir una función que calcule la última cifra de un entero positivo.
Escribir una función que calcule la primera cifra de un entero positivo.

14
C/C++ / Numeros Primos.
« en: Domingo 18 de Enero de 2004, 17:29 »
Hola:

Necesito un algoritmo que, dado un numero natural n, muestre por pantalla los n primeros números primos.

He intentado hacerlo pero me estoy volviendo loco y no tengo ni idea de cómo seguir. Alguien me puede ayudar? Pongo lo que tengo hecho, pero esque no me sirve... Ayudadme por favor!!

Código: Text
  1.  
  2. #include &#60;stdio.h&#62;
  3. #include &#60;stdlib.h&#62;
  4.  
  5. void Fprimos (int num, int vector[]);
  6.  
  7. int cont=1; int i=1;
  8.  
  9. int main (){
  10.    int n;  int num=1;
  11.    int vector[1000]={1};
  12.    
  13.    printf (&#34;Muestra por pantalla de los n primeros numeros primos.&#34;);
  14.    printf (&#34;&#092;n&#092;nIntroduce el numero n de numeros primos que mostrare: &#34;);
  15.    scanf (&#34;%d&#34;, &n);
  16.    while (cont &#60;= n){
  17.       Fprimos (num, vector);
  18.       num++;
  19.    }
  20.    
  21.    printf (&#34;&#092;nLos %d primeros numeros primos son: &#34;, n);
  22.    for (i=0; i&#60;=cont; i++){
  23.       printf (&#34;%d&#34;, vector[i]);
  24.    }
  25. }
  26.  
  27. void Fprimos (int num, int vector[]){
  28.    for (i=1; i &#60;= cont; i++){
  29.       if (num%vector[i]!=0){
  30.          if (i==cont){
  31.             vector[cont]=num;
  32.             cont++;
  33.          }
  34.       }else{
  35.          if (i==cont) return;
  36.       }
  37.    }
  38. }  
  39.  
  40.  
  41.  
  42.  

15
C/C++ / ¿estructuras?
« en: Viernes 16 de Enero de 2004, 22:35 »
¿Qué importancia (en lo práctico) tienen las estructuras?

16
C/C++ / Programa "complicado"...
« en: Viernes 19 de Diciembre de 2003, 14:40 »
Hola:

Este es un programa escrito en c++. El programa "gestiona" los recursos de una papelería que sólo vende agendas! El programa solicita por pantalla la introducción de una terna de datos: cantidad de agendas vendidas en una venta, color de la agenda y modelo de la agenda. Luego, se van introduciendo datos varias veces en su ejecución. Cuando el propietario de la tienda está cansado de trabajar, introduce una cantidad negativa de agendas (i.e. -4), con lo que el programa intuye que la intención de su propietario es la de finalizarse y mostrar los datos por pantalla. El programa le dice cuál ha sido el modelo de la agenda más vendida, el color más vendido, y el color+tipo de agenda vendida.

El programa ya está finalizado y corregido por mi profesor. ¡Está perfecto! Eso significa que... medio punto más en la evaluación :D.

17
Programación de Videojuegos / Creador De Videojuegos: El Principio
« en: Lunes 1 de Diciembre de 2003, 02:09 »
Hola!

Soy muy principiante en esto de la programación. Desde la universidad estamos aprendiendo C++ (saltándonos C). No veo las cosas nada claras...

La gente dice que aprender C++ sin tener una base de C es como hacer calimocho con rioja. Mi primera pregunta:

1- ¿Hasta dónde debe llegar/extenderse la "base" de C?

Como la mayoría de personas, y más yo, sería uno de mis sueños comenzar a programar un juego normalito (ya no digo un juego en 3d ni nada por el estilo, sino simplemente un juego 2D con algo más de una pantalla estática... Pero sé, y es lo que tengo que hacer que, muy a mi pesar, tendré que comenzar con juegos tipo pac-man o menos. Y mi segunda pregunta es:

2- ¿Cuándo atreverse a programar los primeros juegos, a partir de qué conocimientos de C y C++?
3- ¿Con qué compilador comienzo? (Tengo el DevCpp pero también puedo descargarme cualquier Borland).
4- ¿Qué es la plataforma .NET?

Supongamos que ya sé manejar más o menos bien estos "jueguecitos". Llega el momento, pues, de adentrarse en otros mundos. Y es aquí donde comienza la curiosidad por perfeccionar lo máximo posible nuestros juegos 2D, y quizás comenzar a aventurarnos con juegos 3D.

5 - ¿Qué pasos o qué se debería hacer para lograr esto?

Y durante toda esta línea de aprendizaje, no debemos tomar en falta la necesidad de una mente autodidacta. Esto consiste en, además de tener interés por aprender, saber buscar y encontrar todo el material necesario.

6- ¿Cuáles son las páginas clave para una mente inquieta principiante, media y avanzada?

Parece ser que ya tenemos todo... Pero, se nos olvidaba una cosa. ¿Y el tiempo? ¿Cuántas horas se cree que se deben dedicar a todo esto? Puedo responder yo: no hay límite. Pero, hasta "ponerse" al día, ¿cuánto tiempo requeriría?.


Creo que ya está todo. Os agradecería mucho a toda la gente que programais videojuegos, que ayudarais a una "mente inquieta y soñadora" como la mía, a empezar a encarrilar uno de sus mayores sueños: crear un buen videojuego.
¡Por vosotros pasa parte de mi futuro!


Muchas gracias!!

18
C/C++ / Ayuda con programa de descargas
« en: Sábado 1 de Noviembre de 2003, 16:47 »
Hola:

Estoy haciendo un programa para "gestionar" mis descargas de Emule. El programa, de momento, calcula el tamaño de la descarga restante (previamente introducida el tamaño total de la descarga), el porcentaje descargado y restante, el tiempo (hh.mm.ss) que resta a la descarga a distintas velocidades, incluida a la velocidad que el usuario introduzca por pantalla. El programa me ha quedado bastante bien, pero quiero más.

En esta primera versión del programa, están introducidos en el código los nombres de los 4 archivos que me estoy descargando, así como el tamaño de cada uno de ellos. En mi próxima versión, me gustaría que el usuario introdujera el número de descargas que desea gestionar, y que el programa automáticamente "autogenere" el código necesario para realizar las operaciones necesarias (las que de momento tengo preestablecidad: porcentaje, tamaño restante, duración estimada de la descarga...) así como que se cree un archivo con la información introducida, y que en posteriores ejecuciones del programa solicite solamente el tamaño de "la última descarga" (el programa añadirá esa cantidad a la guardada en el archivo, y realizará a partir de ahí sus cálculos).

Me da la impresión de que habría que manejar algún tipo de base de datos, y me gustaría que me orientaseis un poco acerca de cómo y de donde "estudiar" los procedimientos que necesito, para poder aplicarlo al programa que deseo hacer.


Muchas gracias por vuestra atención.

Jordi.

19
C/C++ / Borland C/C++: ¿La mejor opción...?
« en: Viernes 31 de Octubre de 2003, 00:34 »
Hola!:

Soy usuario "principiante" en el mundo de la programación, de mano de C/C++. Ya hice mis pinitos el año pasado con este entorno de programación, pero no hice gran cosa: Nos enseñaron lo básico, while, switch, for, y muy poquito más. Este año, estoy cursando 1º de Informática, y utilizamos un entorno gratuito... pero con ciertas limitaciones.
Me han comentado que Borland C/C++ es una herramienta muy potente y muy atractiva. A mi no es que me interese la potencia a estas alturas, la verdad, pero me gustaría tener en mi propia casa un entorno como Borland.

Buscando en eMule, he comprobado que la mayoría de los usuarios comparten la versión "Enterprise", por lo que he oido orientada hacia el e-business con vistas a Internet.

Por lo que he podido indagar, me resulta más atractiva la versión "Personal", o quizás la versión "C++Builder 5".

¿Qué me recomendais que descargue, para los niveles que estoy y que pueda alcanzar a nivel universitario?

Muchas gracias por vuestra atención!

Jordi.

Páginas: [1]