Fortran中怎樣使陣列邊界無限大

時間 2025-06-08 06:31:17

1樓:天河流紋石

這個陣列佔:

17903886*4 位元組。

也就是68mb左右,應該是可以定義的。

fortran自身沒有陣列大飢源寬小的限制,限制**於編譯器,計算機硬體。

overflow 並非超過限制,而是超過堆疊限制裂棗。你可以通過編譯器選項增加堆疊。具體如何調節,視編譯器而不同。通常在link選項中,自己找找看。

另外,應該從演算法上尋求更節約記憶體的方法。

那個陣列改成allocatable可分配的。

2樓:網友

這個陣列一共佔褲物了多少記憶體啊, 要是超過2g肯定沒戲了你這個跟68m × 68m有什麼關係。 估計還是你每個結構的內容太大了。

如果是內容太大了, 建議用hash值比較。

而且建議用快速排序,旦昌 然後挨模純扒著的比就行了。

fortran陣列超出邊界怎麼解決呢/

3樓:匿名使用者

思路:1、先將快取到變數x、y、z中;2、迴圈4次,將向左平移三位,即a[i]=a[i+3];也就是:a[2]=a[5];a[3]=a[6];a[4]=a[7];a[5]=a[8];3、a[6]:

z;a[7]=x;z[8]=y---這只是對你的這種特例的法,沒有一點通用性。要解決這樣的問題,就是要使用快取的中間陣列!!!以下用pascal實現:

consta:array[1..10]ofinteger=(11,12,13,14,15,16,17,18,19,20);b:

array[1..10]ofinteger=(1,5,6,7,8,4,2,3,9,10);vari:integer;c:

array[1..10]ofinteger;beginfori:=1to10doc[i]:

a[b[i]];fori:=1to10dowriteln(c[i]);end.

fortran陣列邊界溢位

4樓:天河流紋石

陣列越界,應該在 step1 函式內, 源**的第 45 行。

你只是給出了**片段,很多東西無法幫你除錯,例如 funcb funcf funca 是什麼?陣列,還是函式? u0(m) ,b0(m) 是什麼??無法得知。

一段**,需要完整的資訊,才能夠做語義上的分析,否則甚至連語法上的分析都困難。

我想你的**應該不短,建議你學習一下 debug 斷點單步除錯模式,在原始碼 45行下斷點,看 45 行的**裡有幾個陣列?其分別引用了多少號元素?陣列定義為多大,是否超過了陣列宣告時的大小。

fortran程式設計中,有關可變大小陣列的問題。

5樓:楓吹草笛

write(*,"how many students:"

read(*,students

allocatable (a(students))在這一句中的allocatable (a(students))改成 allocate(a(students))

fortran程式中陣列大小不夠用怎麼辦?

6樓:匿名使用者

這個陣列確實太大了,怎麼可能用到這麼大的陣列?

7樓:匿名使用者

c++都是設定的動態陣列不知道f是不是也可以這樣做。

8樓:網友

可以用指標或者動態連結串列,我也在琢磨這個問題。

9樓:匿名使用者

不可能用這樣大的陣列吧 !

fortran中如何將大小為5的陣列擴充為大小為10的?

10樓:蘿蔔零零八

既然你不想用動態陣列,那就一開始將陣列長度設定大一些,對於幾千的一維陣列,和幾十的一維陣列,程式快慢差不多。。。陣列元素空著就空著,沒關係。

11樓:網友

這是不可能的,fortran裡如果沒有allocatable屬性,在程式執行中,同乙個陣列的長度是不能變化的。

指標串?連結串列嗎?那不是陣列啊。

fortran 中如何引用可變大小的陣列

12樓:天河流紋石

這太基礎芹槐了吧??嫌液友先看埋尺看書,不然給你說清楚了,等於寫書了。

看書上的 allocatable,allocate,deallocate 等內容。

fortran迴圈中陣列超出

13樓:天河流紋石

我不知道你的陣列超出是什麼意思?

是陣列越界嗎?如果是,這段**裡確實看不出來。請儘量提供錯誤時的截圖。

是浮點數溢位嗎?如果是,那可能是因為 xs 陣列的值比較大,在求平方和時,超出了 s 能表達的範圍。例如單精度的 s 最大可表達 e38 次方的數值。

ti 個 xs 的平方和,是否超過了 ?

fortran怎樣使輸出結果為,fortran程式中 怎樣輸出資料到新檔案

當一個數字的寬度超過了你設定的寬度,就會出現星號。比如 integer i i 1000 write i3 iend就會出現 因為 i 1000 是 4 位數,設定寬度是 3,就會出現星號。這是一種錯誤,你不應該主動問如何產生這種錯誤。你要做的應該是避免它。注,利用 符號,cvf或ivf編譯通過。下...

c怎樣從檔案中讀取資料存入陣列二維陣列中,且每個資料項(有漢字或數字)之間用逗號隔開

使用fscanf f,d,d 的方法即可讀取逗號隔開的變數。1 c語言標準庫提供了一系列檔案操作函式。檔案操作函式一般以f 單詞的形式來命名 f是file的簡寫 其宣告位於stdio.h標頭檔案當中。例如 fopen fclose函式用於檔案開啟與關閉 fscanf fgets函式用於檔案讀取 fp...

在CAD中怎樣沿弧線陣列,cad中如何沿一條曲線陣列

你是不是說的 不是一個完整的圓?你先算好 需要陣列的個數 和每個之間的角度 選取圓弧中心 請注意 逆時針為正 和矩形陣列 一行多列 一樣 不明白了再追問 先給弧線的角度測出來 選環形整列 拾取弧線的中心點 跟要整列的圖 填上需要的個數 在角度欄上輸入弧線的角度 為順時針方向 為逆時針方向 付費內容限...