• Miércoles 5 de Febrero de 2025, 11: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 - herzdark

Páginas: 1 [2]
26
C/C++ / Re: contar palabras de una cadena de caracteres
« en: Martes 1 de Marzo de 2011, 19:05 »
Cita de: "m0skit0"
Sigo sin entender para qué quieres pasarlo a la función como char* usando c_str() si con string te vale igual. Es marear la perdiz por no querer aprender la clase estándar string, simple y llanamente.

no se si estoy diciendo burradas pero al utilizar el puntero a cadenas lo puede entender un recién empezado en C++ digo las personas q todavía no aprendío o vio la clase string, pero si vos le das el ejercicio con la clase string a uno q todavía no estudio esto es como japones no lo va a entender.

27
C/C++ / Re: contar palabras de una cadena de caracteres
« en: Domingo 27 de Febrero de 2011, 23:28 »
Cita de: "m0skit0"
Retiro lo dicho.
que paso moskito???, lo estuve pensando mucho y la clase estandar string es en verdad un char * encubierto
la clase String sería así segun como lo veo yo
Código: C++
  1.  
  2. Class String
  3.  {char *cad;
  4.   public:
  5.     String ();
  6.     String (const String &);
  7.     String & operator = (const String &);
  8.     String & operator + (const String &);
  9.     int Length ();
  10.     ...;
  11.  }
  12.  
  13.  

28
C/C++ / Re: contar palabras de una cadena de caracteres
« en: Viernes 25 de Febrero de 2011, 03:59 »
Cita de: "crixxus"

Código: C++
  1.  
  2. long palab(char *c)
  3. {int cont=0;
  4.  for(int i=0;i<200;i++)
  5.   {if(c[i]==' '||c[i]=='')
  6.      cont ++;
  7.    if(c[i]=='')
  8.     i=200;
  9.   }
  10.   return cont;
  11. }
  12.  

primero ante q todo gracias moskito x la respuesta es q a mi en la fac me hacían hacer clases pero con char *  y no con string y bueno volviendo a los q nos compete viendo el codigo el problema es q contas los espacios entonces tu condicion sería q c!=' ' y yo cambiaria el for por un while porque vos estas recorriendo las 200 posiciones del array cuando tu frase tenga por ejemplo 30 caracteres, entonces quedaría así
Código: C++
  1. while (c[i]!='')
  2.  
con lo que puse recien, vos contarias hasta encontrar el fin de cadena  y no las 200 de la cadena y lo otro t lo podes rebuscar pensando q cuando hay estacios en blanco lo saltas y cuando termina la palabra lo contas, haber si te sirvio así

29
C/C++ / Re: contar palabras de una cadena de caracteres
« en: Jueves 24 de Febrero de 2011, 19:23 »
Cita de: "m0skit0"
Cita de: "herzdark"
yo lo haría con artimetica de punteros (si ya lo has visto), así te podría andar tanto en C como en C++
No. Las cadenas podrían ser de la clase estándar string de C++.

Aparte ¿la cadena en qué formato es? ASCII, Unicode, etc...

tenes razón pero como yo vengo de C a C++ no utilizo la clase estándar string, prefiría crear un char* y después trabajar con new y delete son gustos de programación y cual sería la diferencia si es ASCII o Unicode?

30
C/C++ / Re: contar palabras de una cadena de caracteres
« en: Jueves 24 de Febrero de 2011, 16:31 »
yo lo haría con artimetica de punteros (si ya lo has visto), así te podría andar tanto en C como en C++, en tu caso particular mientras no sea fin de cadena y también q no sea un espacio en blanco voy contando la palabras q aparecen

31
C/C++ / Re: No dejar espacio tras último dato
« en: Miércoles 16 de Febrero de 2011, 04:21 »
mmm muy buena pregunta pero yo lo intentaria con el operador ? ej: condición?resp verdadera:resp falsa y ademas la condición del for no es <= porque como lo estas tomando no contas el valor i=n porque n es divisor de si mismo xej 6 tiene div a 1,2,3 y 6
Código: C++
  1. bool perfecto(int n)
  2. {int suma, i;
  3.  suma = 0;
  4.  for (i = 1; i <= n; i++)
  5.   {if (n % i == 0)
  6.     {suma += i;
  7.      cout << i <<(i!=n)? " ":endl;// impresión de divisores
  8.      }
  9.   }
  10.  if (suma == n)
  11.     return true;
  12.   else
  13.     return false;
  14. }
  15.  
  16.  

espero q te alla servido

32
C/C++ / Re: COLA CIRCULAR
« en: Domingo 14 de Noviembre de 2010, 05:29 »
tiene mucha razon implementar estaticamente una cola circular se puede pero lo normal es hacerla dinamicamente con un lista y para eso se necesitan los tediosos punteros.
aca te tiro como seria la estructura de datos y las primitivas pensalas vos.

Código: C
  1.  
  2.  typedef struct s_nodo
  3.   {t_dato inf;
  4.    struct s_nodo *sig;
  5.   }t_nodo;
  6.  
  7. typedef t_nodo * t_cola;
  8.  
  9.  
  10.  
pd: a mi tambien me mandaron a hacer una cola circular y despues agregaron una pila circular  :D

33
C/C++ / Re: Borrar linea en un archivo
« en: Domingo 14 de Marzo de 2010, 02:32 »
Cita de: "Eternal Idol"
Podes hacerlo cargando todo en memoria siempre que el archivo no sea enorme.
no seria mas productivo q haga un fseek hacia la posicion de la linea, que lea el dato, mueva el puntero de escritura para atras y que guarde la linea modificada?

34
C/C++ / Re: Sobrecarga de operadores con fracciones
« en: Domingo 14 de Marzo de 2010, 02:28 »
con mi poco c++ en mis espaldas creo que estas delvolviendo algo mal si me equivoco este es pos-decremento, el return debería ser otro objeto no el *this
entonces es -- quedaria asi:
Código: C++
  1. Fraccion operator--(int)
  2. {Fraccion aux(*this);
  3.  numerador--;
  4.  denominador--;
  5.  return aux;
  6. }
  7.  
  8.  
viendo bien creo que te falto hacer el constructor de copia, el = y nada mas.
y para que sea un poco mas prolijo el desarrollo de los metodos hacelo en otra hoja no en el mismo lugar donde declaras la clase

35
C/C++ / Re: Problema con programa
« en: Sábado 13 de Marzo de 2010, 23:08 »
no se si esto es un error bue aca te lo digo cuando haces esto:
 
Código: C
  1. void Escribir (FILE *fichero, char texto [ MAXFILAS ] [ MAXCOLUMNAS ])
  2.  
vos el archivo lo estas creando dentro de la función pero cuando la función termina el puntero a FILE queda en NULL, una solucion seria pasar el archivo asi:
Código: C
  1. void Escribir (FILE **fichero, char texto [ MAXFILAS ] [ MAXCOLUMNAS ])
  2.  
entonces lo que haces es trabajar con puntero a puntero a file y cuando la direcion que se devolvio (del file) de la funcion queda.
por eso digo no se si es un error lo que marco pero a mi me enseñaron eso ^_^  ^_^

36
C/C++ / Re: cortar un archivo en n partes
« en: Domingo 28 de Febrero de 2010, 15:05 »
no se yo primero sacaria el la cantidad de reg que tenga el archivo
Código: C
  1. long tam=ftell(ptarch)/sizeof(struct archivo);
  2.  
y despues usaría el fseek para posicionarme en el medio del archivo
Código: C
  1. fseek(ptarch,(tam/2)-1*sizeof(struct archivo),0)
  2.  
entonces empiezo a leer hasta el eof y el otro ciclo va a ser de 0 a tam y poniendo el fseek al comienzo del arch.
espero que te alla servido

37
C/C++ / Re: invertir cadena en el mismo array
« en: Sábado 27 de Febrero de 2010, 14:43 »
esta buena la explicacion anterior pero yo lo haria con una funcion
seria asi:
Código: C
  1. char * invertir_cadena(char *cad)
  2. {char *aux=*cad,inter,*inicio=*cad;
  3.  while(*aux)
  4.    aux++;
  5.  aux--;
  6.  while(aux>cad)
  7.    {inter=*cad;
  8.     *cad=*aux;
  9.     *aux=inter;
  10.     aux--;
  11.     cad++;
  12.    }
  13.  return inicio;
  14. }
  15.  
  16.  
lo que yo utizo es aritmetica de punteros para manejarme insitu sobre la cadena y la funcion devuelve un char* para que a puedas poner xej en un puts o fprintf

38
C/C++ / Re: Eliminar Espacios
« en: Sábado 27 de Febrero de 2010, 06:17 »
a mi me gustaria con 2 punteros a char (char *) es tedioso pero si lo sacas es joya!!!

Páginas: 1 [2]