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

#871
Programación C/C++ / Re: leer fichero .txt
3 Junio 2013, 13:25 PM
Cita de: raquelsg88 en  3 Junio 2013, 13:21 PM
¡¡, para ello de un fichero .txt leerá lo que hay escrito, que será por ejemplo "update.mot" y después buscará y leerá el fichero con ese nombre y extensión.
En C estándar:

FILE *pFile;
char Nombre[256];

pfile = fopen("archivo.txt");
fgets(Nombre,255,pFile);
fclose(pfile);

pfile = fopen(Nombre); // Abrimos el archivo en cuestión


Doy por hecho de que el nombre está en la primera línea del archivo.
#872
Programación C/C++ / Re: leer fichero .txt
3 Junio 2013, 13:04 PM
Cita de: raquelsg88 en  3 Junio 2013, 12:59 PM
sigue sin funcionar, pero gracias por ayuda
Explicate más. ¿Que es lo que pasa cuando ejecutas el programa? ¿Que resultado obtienes?

¿Cual es el contenido del archivo que has usado de prueba?
#873
Programación C/C++ / Re: leer fichero .txt
3 Junio 2013, 12:38 PM
No me has entendido:

FILE *pFile;
unsigned char version[30];
unsigned char FL_UPDATE_FILE_NAME[15];
 
pFile=fopen("version.txt","r");

fgets(version,30,pFile);
fgets( FL_UPDATE_FILE_NAME,14,pFile);

fclose(pFile);
#874
Programación C/C++ / Re: leer fichero .txt
3 Junio 2013, 11:11 AM
¿Quieres guardar una palabra en una sola variable?

Elimina el while y hazlo exactamente igual que con la versión
#875
Cita de: pacoperico en  2 Junio 2013, 20:46 PM
Código (cpp) [Seleccionar]
if( x == y )
 printf("+");
else if( x != y)
printf("-");

Si x == y es falso, entonces tiene que ser forzosamente x != y. El segundo if sobra  :silbar:
#876
Programación C/C++ / Re: Vectores vs Listas
2 Junio 2013, 14:16 PM
Cita de: leosansan en  2 Junio 2013, 13:58 PM
Gracias nuevamente, dedicaré unos días a empollarme el tema, parece interesante. Aunque visto a bote pronto es casi como la clase vector, de entrada parecen muy semejantes. Pero, en fin,supongo que según profundice en el tema veré mejor las diferencias y bondades de cada método.
Sí, son muy parecidas. La mayor diferencia es el rendimiento de las operaciones:

Insertar un elemento al final

- Listas: Rápido, solo tiene que reservar un nuevo espacio en la memoria y enlazarlo con la última lista.
- Vector: Velocidad moderada, tiene que intentar hacer un realloc, si hay más espacio contiguo en la memoria no hay problema pero si no lo hay tendrá que mover todos los elementos a una nueva posición.

Acceso a una posición aleatoria

- Listas: Lento, tiene que ir recorriendo toda la lista hasta llegar al elemento en cuestión.
- Vector: Muy rápido.

Borrar un elemento aleatorio

- Listas: Rápido, simplemente elimina el elemento y ajusta los punteros.
- Vector: Lento, tiene que reorganizar los datos para que sigan estando contiguos en la memoria.

Inserción aleatoria

- Listas: Rápido, añade el nuevo elemento y ajusta los punteros.
- Vector: Lento, tiene que desplazar todos los elementos para dejar espacio al nuevo elemento.


Básicamente, los vectores ganan en acceso aleatorio y las listas ganan en inserción/borrado aleatorio.

#877
Programación C/C++ / Re: Vectores vs Listas
2 Junio 2013, 12:30 PM
Bueno ya que estoy, te digo más cosas de las listas.

Las listas no siguen un orden lineal, asi que pueden manipularse sus posiciones sin problemas. Por ello tenemos algunos elementos nuevos:

- Sort: Ordena los elementos de una lista de menor a mayor:

Código (cpp) [Seleccionar]
list<int>MiLista;

// Relleno la lista

for (int i = 0; i < 100;i++)
  MiLista.push_back(rand());

// Ordeno la lista

MiLista.sort();

// La muestro por pantalla

for (list<int>::iterator it = MiLista.begin(); it != MiLista.end();it++)
{
  cout<<*it<<endl;
}


- remove: Borra todos los elementos con un valor específico:

Código (cpp) [Seleccionar]
list<int>MiLista;

// Relleno la lista

for (int i = 0; i < 100;i++)
  MiLista.push_back(rand());

// ¡Elimino los ceros!

MiLista.remove(0);

// La muestro por pantalla

for (list<int>::iterator it = MiLista.begin(); it != MiLista.end();it++)
{
  cout<<*it<<endl;
}


- unique: Elimina los elementos repetidos.


Te dejo los vídeos con los que aprendí a usar listas:
http://minidosis.org/C++/Listas/

¡Saludillos!

#878
Programación C/C++ / Re: Vectores vs Listas
2 Junio 2013, 12:02 PM
Cita de: leosansan en  2 Junio 2013, 11:27 AMGracias por la información, en C++ ando escasito de conocimiento  aún, pero todo se andará.
¡De nada! Te dejo la referencia:
http://www.cplusplus.com/reference/list/list/

Pero el uso es idéntico a los vectores, solo hay que sustituir vector -> list y hacer el include:

Código (cpp) [Seleccionar]
#include <list>

Como no tienes el operador []. Para recorrer una lista tienes que usar un iterador:

Código (cpp) [Seleccionar]
list<int> MiLista;

// Relleno la lista

for (int i = 0; i < 100;i++)
  MiLista.push_back(i);

// La muestro por pantalla

for (list<int>::iterator it = MiLista.begin(); it != MiLista.end();it++)
{
  cout<<*it<<endl;
}
#879
Cita de: leosansan en  2 Junio 2013, 05:26 AMY lo que viene es para el amigo amchacon, ¿o podemos llamarte ya Miguel?:
¡Claro! Miguel para los amigos  ::)

Cita de: leosansan en  2 Junio 2013, 05:26 AMA mí me podéis llamar por mi nombre de pila León, :o  sí de nombre, no de apellido. Y lo de "san" es por el primer apellido :-) . Además, para más inri, soy leo de  horóscopo, ni tan siquiera, como buen leo, me interesan los demás signos zodiacales, sencillamente no tienen la suerte de ser leo. Y, como no y según habeís podido observar, mi animal preferido con diferencia es el León.  ;)
¿Te acuerdas de la antigua ministra de defensa? (Carmen Chacón). Ese es mi apellido (que no significa que sea pariente de la exministra ni nada)

Mi nombre de pila es Miguel Ángel + Chacón: Machacon, pero como queda un poco feo le damos la vuelta: amchacon

Ah, y también soy Leo  ;D

Cita de: leosansan en  2 Junio 2013, 05:26 AMRápido, rápido tu PC, el mio tarda algo más, 1.01. O como me comento, creo que mr.blood dejo de tener abiertas a la vez que el Code:Blocks 27, sí 27 contaditas, páginas web, música a todo volumen, así como los programas Python -sí, no puedo estar sólo con C y C++, en los que soy un aficionado, no como ustedes que son aunténticos profesionales, y  Matlab y Mathematica que son en lo que realmente trabajo duramente ahora y,  casi me olvido, mantengo abiertas las puertas del Facebook, el antiguo Messenger, ahora Skype mientras con utorrent y la mulita me descargo los últimos y no tan últimos estrenos y documentos varios y paro de contar mi vida, ! curiosos, que sois unos curiosos!.
Me vais a sonrojar, y eso que dije que mi pc no es ningún monstruo (monstruo es quien tiene una CPU de 500€  :silbar:).

Yo soy un fan de C++ hasta la medula, probé Java y me pareció un C++ capado con un rendimiento menor... Vamos que no.

Cita de: leosansan en  2 Junio 2013, 05:26 AMEl problema de ser, aún a mi ya elevada edad y, a pesar de la enfermedad, una persona hiperactiva
No se porqué, yo creía que tenías veinti-pocos.

No te pongas malito leo  :-\

Cita de: leosansan en  2 Junio 2013, 05:26 AMMe entra una duda existencial al ver la imagen que posteas, ¿por que creas un proyecto para probar un código tan simple cuando puedes sencillamente crear un File nuevo?.
Tengo un proyecto ya creado para las pruebas, cuando abro el codeblocks solo tengo que clicar en proyectos recientes y listo.

Cita de: leosansan en  2 Junio 2013, 05:26 AMLa ventaja de trabajar con file es que puedes mantener "operativos" multitud de files para "probar"cosas mientras con un proyecto sólo puedes probar uno, cerrar y abrir otro proyecto y así sucesivamente.
No es cierto, puedes tener varios proyectos abiertos. Luego puedes elegir el foco dando doble click sobre su nombre

Cita de: leosansan en  2 Junio 2013, 05:26 AMYo uso ventanitas múltiples en Code::Blocks y cada una con múltiples pestañas. Así trabajo yo, en general dejando proyectos para programas que necesiten de varios file a la vez. Y eso porque ahora estoy en un portátil de tan solo 18 pulgadas
Yo tengo un monitor de 17 pulgadas, ya me quejo del tamaño como para dividirlo aún más  ;D

Prefiero ir cambiando de fichero que perder visibilidad.

Cita de: leosansan en  2 Junio 2013, 05:26 AMSaluditos desde Gran Canaria! .... ...
Natural de Andalucía (Córdoba) durante los primeros 18 años de mi vida, ahora vivo en Valencia pero nada como el clima Andaluzz
#880
Programación C/C++ / Re: Vectores vs Listas
2 Junio 2013, 10:15 AM
Cita de: leosansan en  2 Junio 2013, 07:06 AMTambién me influye el que veo las listas demasiado enrevesadas para programarlas desde que queremos añadirle las funcionalidades que de forma natural proporciona la clase vector.
C++ incluye también una clase lista que ofrece las mismas funciones que la clase vector

Bueno miento, el operador [] no está pero tampoco hace falta porque recorro el contenedor entero, no necesito acceder a posiciones aleatorias.