怎樣求乙個二維陣列元素之和以及二維陣列元素的最小值及下標

2025-03-28 02:35:19 字數 1160 閱讀 2761

1樓:匿名使用者

這裡需要用到指標,可以用到位址法(a[i]+j這樣的)或者指標(ptr++這種)來輸入輸出二維陣列的各個元素,然後求和最小值 假設二維陣列下標為0的元素最小和用指標指向該元素,後續的元素和其比較,若還有更小的則替換 然後輸出其值和對應的指標 指標所指位址為其下標所指位址。

2樓:匿名使用者

類似題目二維陣列在記憶體中是按行存放,假定我們定義二維陣列和指標如下:

int a[3][4],*p = a[0];

從上述存放情況來看,若把二維陣列的首位址傳遞給指標p,則對映過程如圖6 - 11所示。我們只要找到用p所表示的一維陣列中最大的元素及下標,就可轉換為在二維陣列中的行列數。 #include

main( )

int a[3][4],*ptr,i,j,max,maxi,maxj;

max 是陣列的最大, maxi 是最大元素所在行, maxj 是最大元素所在列* /

for(i = 0; i < 3; i ++

for(j = 0; j < 4; j ++

scanf("%d", a[i][j]);

ptr = a[0]; 將二維陣列的首位址傳遞給指標變數* /

maxj = maxi % 4; /每行有四個元素,求該元素所在列* /

maxi = maxi / 4; /求該元素所在行* /

int max_arr(b,p1,p2,n)

int *b,*p1,*p2,n;

b 指向二維陣列的指標, p1指向最大值,p2 指向最大值在一維陣列中的位置, *

n 是陣列的大小* /

int i;

p1=b[0]; p1=0;

for(i = 1; i < n; i++)找最大* /

if (b[i]>*p1)

p1=b[i]; p2=i;執行程式:

max=9, maxi=0,maxj=3

二維陣列算元素個數

3樓:網友

二維就是隻有2個元素的(a,b)

2to5 .2到5的整數。

那麼就只有(2,5)、(3,5)、(4,5)、(5,5)

4樓:網友

2to5 可不可以理解為 2~5也就是。

C 函式呼叫二維陣列,C語言一維陣列轉二維陣列

n如果是變數的話,陣列編譯時都通不過吧。陣列分配時必須知道大小。函式應該這樣宣告function char array 10 10 或省略第一維的大小function char array 10 function char array n n 這樣是錯誤的,陣列的索引必須是個常量表示式。如果需要必須...

php二維陣列刪除指定的重複元素,只保留一條

array unique array 直接可以移除重複值 php二維陣列如何根據一個id刪除一個元素 關鍵看你的二維陣列的結果.如果id是下標並且是字串,如下面的.demo array one array 1,2,3 two array 3,4,5 可以直接unset demo one 如果id是下...

怎麼用指標的指標指向二維陣列的每個元素

通過二級指標去訪問二維陣列需要先給二級指標分配等同於二維陣列行數的一維陣列指標,然後把二維陣列的每行首地址賦值給對應位置的一維指標上。之後就可以通過二維指標直接訪問了。比如整型二維陣列,先定義int p 然後 根據行數,申請和行數相同的int 指標每個指標指向二維陣列對應行。這樣就可以通過每行的首地...