Funciones que uso regularmente en C++

28 05 2008

Bueno…. Ya llevaba un largo tiempo sin actualizar, y es que en el liceo nos tienen hasta el tope de tareas y ytrabajos, pero como ya estoy que termino el año, le dedico mas tiempo al blog. Entonces, dejo una lista de las funciones (escritas por mi) que mas uso y algunas que me gustan bastante.

Sustituto de strlen

Esta funcion la uso a menudo, principalmente respondiendo preguntas en Yahoo! Respuestas sobre que la requieren, de todos modos, aqui va:

int contar( char *ptr ) {
int contador = 0;
while( *ptr != '' ) {
contador++;
ptr++;
}
return contador;
}

Esta funcion se llama dando el nombre del arreglo que se debe medir ( contar( ejemplo ) ) y devuelve el numero de elementos

Contar numero de cifras de un numero( util )

int contar( int numero  ) {
int contador = 0;
     do {
         numero = numero / 10;
         contador += 1;
         } while ( numero / 10 != 0 );

return contador + 1;
}

Esta cuenta el numero de cifras de un numero, por ejemplo, si le damos el numero 4444 como argumento, entonces devuelve 4, porque tiene cuatro cifras.

Voltear cifra (combinada con la anterior )

int voltear( int *variable ) {
     int contador = 1;
     int copia = *variable;
     contar( copia , &contador );
     int repeticion = 2;
     int diez = 100;
     *variable = copia % 10;
     do {
          *variable = (*variable * 10) + ( copia % diez / ( diez / 10 ) ) ;
          diez *= 10;
          repeticion++;
          } while ( repeticion <= contador );
          }

Esta, combinada con la anterior, cuenta el numero de cifras del numero(anterior) y en base a ello lo voltea. No es muy util, pero como curuiosidad esta muy bien! NOTA: En la anterior, para que las dos funcionen, declaramos contador como apuntador, enlas definiciones, para que tome el valor de contador (el de voltear) y lo modifique ( int *contador );

Cambio de oracionn a caracteres extraños

void cambia( char *recorre ) {
     char abc[] = { "abcdefghijklmnopqrstuvwxyz" };
     char abc_m[] = { "ABCDEFGHIJKLMNOPQRSTUVWXYZ" };
     int abc_a[] = { 64, 225, 184, 209, 156, 159, 71, 72, 124, 74, 204, 179, 77, 110, 157,
                     232, 12, 169, 36, 194, 230, 234, 87, 158, 190, 21 };

     for ( int i = 0, x = 0; *( recorre + i ) != '' ; i++ )
     for ( x = 0; *( abc + x ) != ''; x++ ) {
     if ( *( recorre + i ) == *( abc + x ) || *(recorre + i ) == *( abc_m + x ) )
     *( recorre + i ) = *( abc_a + x );
     }
     }

Esta lee un “nick” o frase y la modifica cambiando sus caracteres por otros mas “raros” o peculiares, esta la hice para responder una pregunta en Yahoo! Respuestas ^^.

Y se acabaron por ahorita, pero prometo traer mas cuando tenga un poco de tiempo ; )


Acciones

Información

3 respuestas

21 09 2008
s

hola es que estaba probndo el que cuenta las cifras y no me da, si le meto 9 me dice que tiene una cifra, pero si le meto 69 me dice que tambien tiene una cifra, y si le meto 120 me dice que tiene 2………… que puede ser?, gracis por su ayuda

24 09 2008
debianusr

@s: ups… se me pasaron algunas cosas, si :P . Ya lo corrijo, pero lo que faltaba era aumentar en 1 contador cuando lo regresabas… tambien puse un corchete de mas hehe :)

4 05 2009
Sam!

Hola.. q tal.. apenas m stan enseñan a trabajr en c++ y no entiendo myt bien como utilizar y poner los codigos.. y como utilizar los contadores.. tngo un program q tngo q realiar y tngo q sacar la cantidad de cada cosa q m piden.. m puedn decir mas o menos como utilizar los contadores.! Grax :D

Deja un comentario