Hola a todos, soy nuevo en el foro, para comenzar quiero decir que soy estudiante de informática en Rusia, y bueno me han mandado una tarea y estoy con problemas para comprender (en parte por el idioma) así que quisiera que revisen el tema y me lo expliquen (el ejercicio viene con respuesta, y en ruso, lo he traducido :o)
--------------Ahí va----------------
Si el código contiene errores de sintaxis y semántica en términos de C99, responder a 0. De lo contrario, escribir la suma de toda la rentabilidad posible los siguientes valores de la función. Las llamadas que conducen a errores de tiempo de ejecución,ignorar.
Tengamos en cuenta que el programa el programa está disponible en la memoria dinámica , N = tamaño de 1024 bytes. Se ejecuta en un equipo con 16 bits
arquitectura. Aritmética - modular (módulo 2^16). ---(No me pregunten por esta parte, traducida queda así)
El compilador traduce el programa exacto en lenguaje de máquina.
#include<stdlib.h>
struct list {
int id;
struct list *next, *prev;
};
int increasing(int x, int y) {
int id = 0,i = y;
struct list *p = 0;
while (i++ < x) {
struct list *n = malloc(sizeof(*n));
if (!p) {
p = n;
} else {
p->next = n;
n->prev = p;
p = p->next;
}
p->id = id++;
}
return id;
}
Respuesta: 14535.
Mod: Los códigos deben ir en etiquetas GeSHi
:(
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.
;D Ya lo cambié, lo lamento de verdad, estaba de apuro, y aun sigo sin entender el código ....
Citarescribir la suma de toda la rentabilidad posible los siguientes valores de la función
No entiendo esa parte, pero en todo caso lo que tienes es una lista doblemente enlazada y una funcion increasing que agrega x - y nodos a la lista
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.