Inicjalizacja globalnej, wielowymiarowej tablicy

Inicjalizacja globalnej, wielowymiarowej tablicy
Craith
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 146
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!

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
1

Lista inicjalizacyjna, albo jakieś niestandardowe rozwiązania.

  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
 
#define NUMBER 1
#define NUMBERS {NUMBER, NUMBER, NUMBER, NUMBER, NUMBER}
#define NUMB {NUMBERS, NUMBERS, NUMBERS, NUMBERS, NUMBERS}

int matrix[5][5] = NUMB;

hauleth
  • Rejestracja: dni
  • Ostatnio: dni
1

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

Kopiuj
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.

vpiotr
  • Rejestracja: dni
  • Ostatnio: dni

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.