וואַריאַבלע גרייס ערייז אין פאָרטראַן אָן אַללאָקאַטע ()

איז עס אַ וועג צו שאַפֿן ערייז אין די פאָרטראַן אויף דעם אָנלייגן ? Allocate () אַרבעט נישט פֿאַר מיר ווייַל עס שטעלן די מענגע אויף די קופּע. דאָס קען פירן צו פּראָבלעמס מיט פּאַראַללעליזאַטיאָן (זען מיין אנדערע קשיא: OpenMP: נעבעך פאָרשטעלונג פון קופּע ערייז (סטאַק ערייז אַרבעט פייַן) ). דאָך, עטלעכע קלוג זכּרון פאַרוואַלטונג וואָלט געבן אַ וועג אַרום דעם פּראָבלעם, אָבער זכּרון פאַרוואַלטונג אין פאָרטראַן סאָונדס נאַריש.

עססענטיאַללי, איך זוך פֿאַר אַ פאָרטראַן עקוויוואַלענט פון די פאלגענדע אין C:

scanf("%d", N);
int myarray[N];

טאָן ניט וועלן

Integer, PARAMETER :: N=100
Integer, Dimension(N) :: myarray

ווייַל דאָס דיטערמאַנז די מענגע גרייס אין צונויפנעמען צייט. איך טאָן ניט וועלן

Integer, Dimension(:), Allocatable :: myarray
read(*,*) N
Allocate(myarray(1:N))

ווייַל עס שטעלן די מענגע אויף די קופּע.

הילף זייער אַפּרישיייטיד. איך איז געווען זייער צופרידן מיט אַללאָקאַטאַבלע ערייז ביז מיין לעצטנס באַגעגעניש מיט די פּראָבלעם אין די קשיא אויבן. אויב עס איז אַ נעגאַטיוו ענטפער צו דעם קשיא, איך וואָלט זייער אָפּשאַצן אַ לינק צו די מקור.

רעדאקטירן: זע באמערקונגען צו מ.ס.ב.'ס ענטפער. אַן עלעגאַנט וועג צו טאָן דאָס בלויז געווארן מעגלעך אין פאָרטראַן 2008, און דאָס איז געטאן אין אַ בלאָק קאַנסטראַקט.

12
задан Community 23 May 2017 в 11:45
поделиться