2017-02-14 59 views
-2
#include<iostream> 
#include<set> 

using namespace std; 

main(){ 
    int n,m; 
    set<int> number; 
    int num; 
    int query[m]; 
    for(size_t i=0;i<n;i++){ 
     cin >> num; 
     number.insert(num); 
    } 
    for(size_t j=0;j<m;j++){ 
     cin >> query[j]; 
    } 
    for(int l=0;l<m;l++){ 
     for(auto k:number){ 
      if(number.find(query[l]-k)!=number.end()){ 
       cout << "YES" << endl; 
       break; 
      }else{ 
       cout << "NO" << endl; 
       break; 
      } 
     } 
    } } 

爲什麼我的代碼無法運行? 當我編譯和運行它。埃克說, how it says爲什麼我的代碼無法運行?

我如何運行此代碼。 對不起。我不擅長英語。 我使用谷歌翻譯將我的語言轉換爲英語。

+1

Hmmmm,有人可能想將此情況報告給谷歌,他們沒有在那裏做了很好的工作... –

+1

米未初始化。查詢[m]是未定義的行爲。 n未初始化,for循環再次未定義beh –

+1

而且C++語言標準在任何情況下都不支持VLA(可變長度數組)。 –

回答

-3
#include <iostream> 
#include <set> 

using namespace std; 

int main(){ 
    int n,m; 
    set<int> number; 
    int num; 
    cin >> m >> n; 
    int query[m]; 
    for(size_t i=0;i<n;i++){ 
     cin >> num; 
     number.insert(num); 
    } 
    for(size_t j=0;j<m;j++){ 
     cin >> query[j]; 
    } 
    for(int l=0;l<m;l++){ 
     for(auto k:number){ 
      if(number.find(query[l]-k)!=number.end()){ 
       cout << "YES" << endl; 
       break; 
      } else { 
       cout << "NO" << endl; 
       break; 
      } 
     } 
    } 
} 

此代碼分配數組「查詢」,其中m(由用戶插入的)堆疊在運行時上的元素。新的C++編譯器提供了在運行時爲本地變量分配堆棧本身內存的能力。

+0

需要解決的代碼中有很多問題。 –

+1

'int query [m];'不會*用一個正常運行的C++編譯器編譯(除非'm'被定義爲'const',而不是在這種情況下)。 –

-3

您需要初始化n和m個變量。前兩個循環將實際運行。

int main() 
    { 
     int n = 3; 
     int m = 3; 
     std::set<int> number; 
     int num; 
     int query[m]; 

     for(size_t i = 0; i < n; i++) 
     { 
      std::cin >> num; 
      number.insert(num); 
     } 

     for(size_t j = 0;j < m; j++) 
     { 
      std::cin >> query[j]; 
     } 

     for(int l=0;l<m;l++) 
     { 
      for(auto k : number) 
      { 
       if(number.find(query[l]-k)!=number.end()) 
       { 
        std::cout << "YES" << std::endl; 
        break; 
       } else 
       { 
        std::cout << "NO" << std::endl; 
        break; 
       } 
      } 
     } 
    } 

cpp.sh/8rwk

相關問題