#2384: 不知道哪裡錯誤了

Unknown User


執行時發生錯誤 (SIGSEGV)(11)!!
Segmentation fault, an address reference boundary error.(記憶體區段錯誤)
可能原因為:
* 通常為使用超過陣列範圍
* 指標指向不正確位址!
* 陣列初始化不正確!
* 嘗試在執行時期定義陣列長度!
sh: line 1:  1580 程式記憶體區段錯誤  

#include <cstdlib>
#include <iostream>

using namespace std; 

int main(int argc, char *argv[])
{
    int n,m,num;
    while(cin >> n >> m){
    num = 0;
    int f[n],g[m];       
        for(int i=1;i<=n;i++)
        cin >> f[i];
        for(int k=1;k<=n;k++)
        cin >> g[k];
       
    for(int h=1;h<=m;h++){
       for(int j=1;j<=n;j++){
       if(f[j]>g[h])
       num += 1;                                         
       }
    }
    cout << num << endl;       
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}

請問哪裡出錯了

我用dev c++跑出來都可以