Inicjalizacja globalnej, wielowymiarowej tablicy

0

Hej,
zgodnie ze standardem C ? / C++ ? wszystkie globalne zmienne sa na "dzien dobry" wyzerowane. Chcialbym uzyskac aby podczas tej inicjalizacji nie bylo wypelniane domyslnie zerami, ale moja, wybrana wartoscia. Jakies pomysly? Nie interesuja mnie vectory ani inne takie, musi byc int[].
przyklad: http://ideone.com/7Z2Dsi
dla mojego zastosowania tablice sa znacznie wieksze. Jakies pomysly?
Dzieki wielkie!

1

Lista inicjalizacyjna, albo jakieś niestandardowe rozwiązania.

0
 
#define NUMBER 1
#define NUMBERS {NUMBER, NUMBER, NUMBER, NUMBER, NUMBER}
#define NUMB {NUMBERS, NUMBERS, NUMBERS, NUMBERS, NUMBERS}

int matrix[5][5] = NUMB;

1

Możesz sobie wygenerować źródło, przykładowo:

require 'prime'

puts <<CODE
#include <cstdio>

int primes[] = { #{Prime.take(1000).join(',')} }

int main() {
    for (size_t i = 0; i < sizeof(primes) / sizeof(int); ++i)
        printf("%d\n", primes[i]);

    return 0;
}
CODE

I tak postał kod, który wypisze Ci 1000 liczb pierwszych w stałym czasie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1