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

#1371
Editores para no levantar las manos del teclado: VIM y EMACS
#1372
Es confuso al principio pero debes visualizarlo de esta forma:

Las funciones, al recibir parámetros, reciben copias de los datos. Cuándo reciben un puntero, lo que reciben es una copia del puntero. Jugar con ésto permite al programador poder modificar los valores de una variable externa, como bien sabes, al pasar la referencia de esa variable.

Si miras el código se necesita variar el puntero en sí:
void push(pila *pil, int v) {
  pnodo nuevo = malloc(sizeof(tiponodo));
  nuevo->valor = v;
  nuevo->siguiente = *pil;
  *pil = nuevo;
}


Como puedes ver en la linea 5 el valor de pil, que en realidad es una dirección de memoria, recibe el valor del puntero nuevo. Si no se hubiera usado un puntero a puntero en la llamada a la función, ésta trabajaría con una copia local de la dirección del puntero pil y, al salir del ámbito de la función push, no habría habido cambios en main, con lo que el programa no haría lo que debería hacer.

La forma de trabajar es la misma que si fuera un dato normal:
Por ejemplo una función declarada así
void cambiar_int(int* i);
ya puedes imaginar que se cambiará el contenido del entero i que se le pase con
cambiar_int(un_numero);
Pues de la misma forma puedes esperarte que a la siguiente función
void cambiar_direccion(int** p);
servirá para que puedas cambiar la dirección a la que apunta un puntero que le pases así:
cambiar_direccion(&un_puntero_a_int);
Aunque cuidado, porqué también se puede referir a que se va a pasar una tabla, pero eso ya es otro tema.
#1373
¿Y si pones el código de lo que tienes hasta ahora?
#1374
Usa setters para que el dato del usuario quede dentro del rango desde un principio, o
que el usuario ponga libremente un dato y usa getters para la clase devuelva el dato dentro de un rango, o
usa getters y setters para que la clase tenga un control absoluto sobre los datos que guarde y entregue.
#1375
Existe el modificador friend que permite qur una clase acceda a partes privadas de otra.

http://c.conclase.net/curso/?cap=032
#1376
La función system pasa al intérprete de comandos del S.O. la cadena que se le pase como argumento.

http://c.conclase.net/librerias/?ansifun=system
#1377
El código está bastante mal. Literalmente pierde memoria cada vez que la función se ejecuta. El fin de semana, si tengo algo de tiempo te daré la explicación extendida.
O si alguien quiere explicarle como hacer para solucionarlo, mucho mejor.
#1378
 :(
Está bien que nos traduzcas las palabras en ruso, pero no que también traduzcas el lenguaje de programación. Se puede rehacer como debería ser, pero te dejo este trabajo para ti. No está bien que pidas ayuda y no te molestes en dejar un código decente  :-\

Hecho esto, la verdad, sigo sin entender la base del problema.
#1379
Lo que está buscando es la hora de compilación y eso se hace con la macro __TIME__, que se expande a una cadena en formato HH:MM:SS.
#1380
Sí, aquí: https://www.codingame.com/

Hay todo tipo de desafíos de programación que se pueden resolver en muchos lenguajes diferentes.
Hasta hay competición de I.A. donde tu código compite con el del resto de la gente para sobrevivir en un  mundo virtual.
Lo único malo que tiene es que la comunidad solo acepta inglés y francés para hablar en los foros. Ya intenté que los admins hicieran una comunidad en español, pero lo denegaron.