int main (int argc, char * argv[]) { size_t i, j, k; size_t m, n, o; int *** cube; if (argc < 4) { fprintf(stderr, "usage: %s m n l\n", argv[0]); exit(EXIT_FAILURE); } m = readsize(argv[1]); n = readsize(argv[2]); o = readsize(argv[3]); cube = malloc(m * sizeof(int **)); if (cube == NULL) ERROR("malloc"); cube[0] = malloc(m * n * sizeof(int *)); if (cube[0] == NULL) ERROR("malloc"); /* first layer of pointers */ for (i = 0; i < m; i++) cube[i] = cube[0] + n*i; cube[0][0] = malloc(m * n * o * sizeof(int)); if (cube[0][0] == NULL) ERROR("malloc"); /* second layer of pointers */ for (i = 0; i < m; i++) for (j = 0; j < n; j++) cube[i][j] = cube[0][0] + o*j + o*n*i; /* values */ for (i = 0; i < m; i++) for (j = 0; j < n; j++) for (k = 0; k < o; k++) cube[i][j][k] = 2*i + 3*j + 5*k; for (i = 0; i < m; i++) for (j = 0; j < n; j++) for (k = 0; k < o; k++) printf("%zu, %zu, %zu : %2d\n", i, j, k, cube[i][j][k]); free(cube[0][0]); free(cube[0]); free(cube); exit(EXIT_SUCCESS); }
QString *swarmTvStats::getStatsString() { int rc=0; stats_struct stats; QString *statsstr = new QString(); std::string sizestr; swarmTv *swarm = &Singleton<swarmTv>::Instance(); // Get the statistics rc = rsstgetstats(swarm->getHandle(), &stats); // Convert size readableSize readsize(stats.dbsize); readsize.getSize(sizestr); // Create string statsstr->sprintf( "Statistics for SwarmTv %s\n" "================================\n" "Database version : %d\n" "Number of sources : %d\n" "Number of simple filters : %d\n" "Number of SQL filters : %d\n" "Number of meta files : %d\n" "Number of downloaded : %d\n" "Database Size : %s\n", stats.version, stats.database, stats.sources, stats.simples, stats.sqls, stats.metafile, stats.downloaded, sizestr.c_str() ); return statsstr; }