online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <stdio.h> #include <stdlib.h> #include <stdint.h> #define N 3 #define INFINITY 1000000000 #define T 5 #define min(a, b) (((a) < (b)) ? (a) : (b)) int p[N] = {3, 6, 4}; int s[N] = {2, 3, 7}; int cost(int i, int t){ printf ("%*c inizio cost con i = %d, t = %d \n", N-i, ' ', i, t); if (t <= 0) { printf("%*c t <= 0, return 0 \n", N-i, ' '); return 0; } if (i < 0) { printf("%*c i < 0, return inf \n", N-i, ' '); return INFINITY; } int a, b; printf("%*c chiamo cost con scelta giocatore \n", N-i, ' '); a = p[i] + cost(i - 1, t - s[i]); printf("%*c totale costo con scelta giocatore: %d \n", N-i, ' ', a); printf("%*c chiamo cost senza scelta giocatore \n", N-i, ' '); b = cost(i - 1, t); printf("%*c totale costo senza scelta giocatore: %d \n", N-i, ' ', a); if (a < b) { printf("%*c return a: %d\n", N-i, ' ', a); return a; } else { printf("%*c return b: %d\n", N-i, ' ', b); return b; } } int main() { int c; c = cost(N - 1, T); printf("costo minimo: %d\n", c); // Metodo bottom-up int *C = malloc(sizeof(int) * (N + 1)); int *D = malloc(sizeof(int) * (N + 1)); printf("C[0, 0] = 0\n"); C[0] = D[0] = 0; for (int t = 1; t <= T; ++t) { printf("C[0, %d] = %d\n", t, INFINITY); C[t] = D[t] = INFINITY; } for (int i = 0; i < N; ++i) { printf("C[%d, 0] = 0\n", i + 1); D[0] = 0; for (int t = 1; t < s[i]; ++t) { D[t] = min(p[i], C[t]); printf("C[%d, %d] = min(p_%d = %d, C[%d, %d] = %d) = %d\n", i + 1, t, i + 1, p[i], i, t, C[t], D[t]); } for (int t = s[i]; t <= T; ++t) { D[t] = min(p[i] + C[t - s[i]], C[t]); printf("C[%d, %d] = min(p_%d + C[%d, %d] = %d, C[%d, %d] = %d) = %d\n", i + 1, t, i + 1, i, t - s[i], p[i] + C[t - s[i]], i, t, C[t], D[t]); } int *tmp = C; C = D; D = tmp; } printf("costo minimo: %d\n", C[T]); free(D); free(C); return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue