Foros del Web » Programación para mayores de 30 ;) » C/C++ »

m podrian ayudar porfavor!!!!!!!!!

Estas en el tema de m podrian ayudar porfavor!!!!!!!!! en el foro de C/C++ en Foros del Web. ¿m podrian ayudar a hacer un programa de c++ por fa es urgentisimo??? miren lo k pasa es k mi programa que permita comprimir o ...
  #1 (permalink)  
Antiguo 28/11/2009, 12:34
 
Fecha de Ingreso: noviembre-2009
Mensajes: 3
Antigüedad: 14 años, 5 meses
Puntos: 0
m podrian ayudar porfavor!!!!!!!!!

¿m podrian ayudar a hacer un programa de c++ por fa es urgentisimo???
miren lo k pasa es k mi programa que permita comprimir o descomprimir archivos,pero el asunto es este: para la compresion deves de proporcionar un archivo llamado entrada.txt y su contenido sera de 0's y 1' y caundo se comprima se generara un archivo llamado salida.gz que te diga cuantos 0's y 1 contiene el arcchivo ejemplo:

entrada .txt

000000001111110000111
111000111000111

salida.gz
8 6 4 3
3 3 3 3 3

y para la descompresion solo lo inverso porfa ayudenme no tengo la menor ide de hacerlo porfa m urge
  #2 (permalink)  
Antiguo 28/11/2009, 12:45
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años
Puntos: 9
Respuesta: m podrian ayudar porfavor!!!!!!!!!

1. Declaras dos variables contadoras: numeroceros, numerounos (ambas inicializadas a 0).
2. Vas leyendo líneas del fichero y por cada una de ellas haces lo siguiente:
3. Si encuentras un 0 y anteriormente habías leído un 0, numeroceros+1;
4. Si encuentras un 0 y anteriormente habías leído un 1, numeroceros=1;
5. Si encuentras un 1 y anteriormente habías leído un 0, numerounos=1;
6. Si encuentras un 1 y anteriormente habías leído un 1, numerounos+1;
Y así vas iterando (dentro de un while(!EOF) ) hasta que no te queden más líneas por leer. Salu2!
  #3 (permalink)  
Antiguo 29/11/2009, 14:43
 
Fecha de Ingreso: noviembre-2009
Mensajes: 3
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: m podrian ayudar porfavor!!!!!!!!!

hola claw disculpa mira ya hice el fichero
pero cuando le pongo los numeros y le doy enter me regresa
como puedo darle enter k no m regrese?????
  #4 (permalink)  
Antiguo 29/11/2009, 15:25
 
Fecha de Ingreso: noviembre-2009
Mensajes: 3
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: m podrian ayudar porfavor!!!!!!!!!

#include <stdio.h>

void menu();
void CrearFichero(FILE *Fichero);
void InsertarDatos(FILE *Fichero);
void VerDatos(FILE *Fichero);

struct sRegistro {
char Nombre[25];
int Edad;
float Sueldo;

} registro;

int main(int argc, char** argv)
{
int a[60];
int opcion;
int exit = 0;
FILE *fichero;

while (!exit)
{
menu();
printf("\nOpcion: ");
scanf("%d", &opcion);

switch(opcion)
{
case 1:
CrearFichero(fichero);
break;
case 2:
InsertarDatos(fichero);
break;
case 3:
VerDatos(fichero);
break;
case 4:
exit = 1;
break;
default:
printf("\nopcion no valida");
}
}

return 0;
}

void menu()
{
printf("\nMenu:");
printf("\n\t1. Crear fichero");
printf("\n\t2. Insertar datos");
printf("\n\t3. Ver datos");
printf("\n\t4. Salir");
}

void CrearFichero(FILE *Fichero)
{
Fichero = fopen("fichero", "r");

if(!Fichero)
{
Fichero = fopen("fichero", "w");
printf("\nArchivo creado!");
}
else
{
printf("\nEl fichero ya existe!");
}

fclose (Fichero);

return;
}

void InsertarDatos(FILE *Fichero)
{
Fichero = fopen("fichero", "r+");

if(Fichero == NULL)
{
printf("\nFichero no existe! \nPor favor creelo");
return;
}
int a[10];
printf("\nDigita el archivo a comprimr: ");
scanf("%d",a);


fwrite(&registro, sizeof(struct sRegistro), 1, Fichero);

fclose(Fichero);

return;
}

void VerDatos(FILE *Fichero)
{
int numero = 1;

Fichero = fopen("fichero", "r");

if(Fichero == NULL)
{
printf("\nFichero no existe! \nPor favor creelo");
return;
}

fread(&registro, sizeof(struct sRegistro), 1, Fichero);



while(!feof(Fichero))
{
printf("\n%d" );
fread(&registro, sizeof(struct sRegistro), 1, Fichero);
numero++;
}

fclose(Fichero);

return;
}
mira aki esta mi codigo
  #5 (permalink)  
Antiguo 01/12/2009, 14:32
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años
Puntos: 9
Respuesta: m podrian ayudar porfavor!!!!!!!!!

¿Te refieres a esta parte?

Código c:
Ver original
  1. while (!exit)
  2. {  
  3. menu();
  4. printf("\nOpcion: ");
  5. scanf("%d", &opcion);
  6.  
  7. switch(opcion)
  8. {
  9. case 1:
  10. CrearFichero(fichero);
  11. break;
  12. case 2:
  13. InsertarDatos(fichero);
  14. break;
  15. case 3:
  16. VerDatos(fichero);
  17. break;
  18. case 4:
  19. exit = 1;
  20. break;
  21. default:
  22. printf("\nopcion no valida");
  23. }
  24. }
¿Que escribes una opción, pulsas ENTER y siempre sale? Prueba con ésto a ver:
Código c:
Ver original
  1. while (opcion != 4){   
  2.    menu();
  3.    printf("\nOpcion: ");
  4.    scanf("%d", &opcion);
  5.  
  6.    switch(opcion){
  7.       case 1:
  8.          CrearFichero(fichero);
  9.          break;
  10.       case 2:
  11.          InsertarDatos(fichero);
  12.          break;
  13.       case 3:
  14.          VerDatos(fichero);
  15.          break;
  16.       case 4:
  17.          break;
  18.       default:
  19.          printf("\nopcion no valida");
  20.    }
  21. }
Realmente, es que no entiendo muy bien lo que quisiste decir. Salu2!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:27.