BVP : Velikost pole v C

Ing. Václav Peroutka peroutka na okd.cz
Pátek Listopad 10 07:30:12 CET 2000


Dobry den,

svgalib jsem pouzil, je to presne to jednoduche, co jsem mel na mysli, i
kdyz mnoho lidi rika, ze je nebezpecna. Nevim v jakem smeru, jestli treba
pri padu poskodi filesystem nebo proc. Pruniky pres sit mne celkem v tomto
pripade ani neberou, jelikoz to je stroj, jehoz jediny kabel vede do 220V.

Ale vec, na kterou jsem narazil, je omezeni velikosti dvourozmerneho pole,
nikde jsem o tom nenasel ani zminku. Kdyz mam NX a NY 37, jeste vse funguje,
jakmile to zvysim na 38, po spusteni programu mi to napise primo
segmentation fault. Jelikoz to nenapise ani "Ahoj", vede mne to k myslence,
ze je problem s pridelenim pameti. Ale to je zalostne malo, ten fragment
nize je zacatek programu pro reseni elektrostatickeho pole metodou konecnych
diferenci.

Je to tedy omezeni, ktere nejde prekonat, nebo je chyba nekde jinde ?
Podival bych se po tom i do archivu, ale nejak mi nejde...

===========
#define NX 37
#define NY 37
#define N ((NX+1)*(NY+1))
// dx a dy - velikost kroku - pri jednotkove plose

int komb( int x, int y) {
   return x + y*NX + y;
}

int main( void) {
   float A[N+1][N+1];
   float B[N+1];
   float x[N+1];
   float dx = 1.0/NX;
   float dy = 1.0/NY;
   int pom;
   int i, j, k;
   int skip = 0;
   float temp;
   float xold, yold, posX, posY;

   printf(" Reseni elektrostatickeho pole : \n");



Další informace o konferenci Linux