二維陣列

講師:ㄌㄌ

一維陣列複習

二維陣列的基礎

第一格從0開始

用法和變數差不多

格數從一開始就指定好 不能隨意變大

關於陣列

二維陣列

介紹

#incdlue<iostream>
using namespace std;
int main()
{
  int arr[3];
}

一維陣列

抽屜的數量

二維陣列

資料型別 陣列名稱[櫃子數量][抽屜數量];
int arr[2][3]={{100,200,300},{101,202,303}};

櫃子0

櫃子1

arr[0][0]=100

arr[0][1]=200

arr[0][2]=300

arr[1][0]=101

arr[1][1]=202

arr[1][2]=303

櫃子0

櫃子1

二維陣列

輸入輸出

一個一個指定:

#include <iostream>
using namespace std;
int main()
{
  int arr[2][3];
  arr[0][0]=100;
  arr[0][1]=200;
  arr[0][2]=300;
  arr[1][0]=101;
  arr[1][1]=202;
  arr[1][2]=303;
  return 0;
}
#include <iostream>
using namespace std;
int main()
{
  int arr[2][3];
  for(int i=0;i<2;i++)
  {
    for(int t=0;t<3;t++)
    {
      cin>>arr[i][t];
    }
  }
  return 0;
}

透過迴圈輸入:

陣列輸入(輸出同理!)

二維陣列

舉個例子

比大小

ㄌㄌ平常總是吵著要吃豆花,讓他的朋友們困擾不已

有一天,他們決定約出去吃小南門豆花

唯一的條件是,ㄌㄌ要幫他們付一份餐點的錢

愛豆花成痴的ㄌㄌ雖然答應了,但他很清楚他的朋友們一定會坑他

你能幫他寫一個程式輸出價錢並找出最便宜的那份,阻止這些壞蛋嗎?

 

輸入第一行有兩個數字,分別為朋友數f及每人點餐數o

接下來輸入f行,每行o個數字,代表各個餐點的價錢

(f不超過100,o不超過10)

#include<iostream>
using namespace std;
int main()
{
  int f,o,arr[110][10],min=1000;
  cin>>f>>o;
  for(int i=0;i<f;i++)
  {
    for(int t=0;t<o;t++)
    {
      cin>>arr[i][t];
      if(arr[i][t]<min) min=arr[i][t];
    }
  }
  for(int i=0;i<f;i++)
  {
    for(int t=0;t<o;t++)
      cout<<arr[i][t]<<" ";
    cout<<endl;
  }
  cout<<min<<endl;
}

範例輸入:

2 3

30 60 50

20 40 100

範例輸出:

30 60 50

20 40 100

20

二維陣列

TRY TRY SEE

二維陣列

KAHOOT

#include <iostream>
using namespace std;
int main()
{
    int n,m;
    while(cin>>n>>m)
    {
        int food[n],sum[n+1],start,end;
        sum[0]=0;
        for(int i=0;i<n;i++)
        {
            cin>>food[i];
            sum[i+1]=food[i]+sum[i];
        }
        for(int i=0;i<m;i++)
        {
            cin>>start>>end;
            cout<<sum[end]-sum[start-1]<<endl;
        }
    }
    return 0;
}

二維陣列

By ㄌㄌ

二維陣列

  • 87