C++斷點問題求解?
這是一道學校oj上的題,在我結束輸入Ctrl + c的時候就會觸發斷點
自己一直不明白為什麼,所以求解?(在codeblocks上就沒有斷點,在vs上就有)我提交至oj顯示 wrong answer ,即第一組實驗用例就不正確,可是輸出明明是一樣的,不知道是不是斷點的原因。
——————————————————————————————————————————以下是題目描述和代碼:(求請噴題主的代碼質量)
//因限制3000字,,全部代碼在回答中發出來9.22更新:先謝謝大家的回答啦~在我改變代碼為
@Coldwings所說的意思後,,當輸入一組數據後,結束時還是會有斷點(自動結束),,我想問斷點是怎麼產生的。。
ctrl+c是用來殺掉進程的
以我以往多年混OJ的經驗,WA只是告訴你答案錯了,並不是告訴你「第一組答案錯了」。
從你的代碼來看,你的輸入數據都跟題目要求格式完全不同,有啥好看的?
題目要求第一行是讀「有多少小組測試數據」,你讀進來當了元素數量,還處理到EOF截止。
好好看看題如何?
ctrl+C本身就是向程序發送一個signal,VS的調試器會捕獲signal,中斷掉提示你一下,而codeblock運行時沒有調試器插入,就進入ctrl+C的默認處理程序,也就是退出程序
結束輸入應該打ctrl+z,也就是EOF進去Ideone.com - ysmtVN
#include &
#include &
#include &
#include &
using namespace std;
int readInt()
{
int x = 0;
cin &>&> x;
return x;
}
vector&
{
vector&
for_each(result.begin(), result.end(),
[](int x) { cin &>&> x; });
return result;
}
int main() {
int cases = readInt();
for (int i = 0; i &< cases; ++i) {
vector&
vector&
cout &<&< "Case #" &<&< i+1 &<&< ":
";
set_intersection(a.begin(), a.end(), b.begin(), b.end(),
ostream_iterator&
cout &<&< "
";
set_union(a.begin(), a.end(), b.begin(), b.end(),
ostream_iterator&
cout &<&< "
";
set_difference(a.begin(), a.end(), b.begin(), b.end(),
ostream_iterator&
cout &<&< "
";
set_difference(b.begin(), b.end(), a.begin(), a.end(),
ostream_iterator&
cout &<&< "
";
}
}
#include &
#include &
using namespace std;
class List {
public:
List(int size);
~List();
void ClearList();
bool ListEmpty();
int ListLength();
int LocateElem(long long int e);
void ListTraverse();
bool ListSort();
bool ListInsert(long long int e);
long long int GetElem(int i);
private:
long long int *m_pList;
int m_isize;
int m_iLength;
};
List::List(int size)
{
m_isize = size;
m_pList = new long long int[m_isize];
m_iLength = 0;
}
List::~List()
{
delete[]m_pList;
m_pList = NULL;
}
void List::ClearList()
{
m_iLength = 0;
}
bool List::ListEmpty()
{
if (m_iLength == 0){
return true;
}
else return false;
}
int List::ListLength()
{
return m_iLength;
}
int List::LocateElem(long long int e)
{
for (int i = 0; i &< m_iLength; i++)
{
if (m_pList[i] == e){
return i;
}
}
return -1;
}
bool List::ListSort()
{
if (m_iLength &> 0) {
sort(m_pList, m_pList + m_iLength);
//排序
return true;
}
else return false;
}
void List::ListTraverse()
{
for (int i = 0; i &< m_iLength; i++){
if (i == 0)
cout &<&< m_pList[i];
else
cout &<&< " " &<&< m_pList[i];
}
cout &<&< endl;
}
bool List::ListInsert(long long int e)
{
if (m_iLength &>= 0) {
m_pList[m_iLength] = e;
m_iLength++;
return true;
}
else return false;
}
long long int List::GetElem(int i)
{
return m_pList[i];
}
int main()
{
int ca;
List l1(30000), l2(30000), jiaoji(30000), binji(30000), chajiA(30000), chajiB(30000);
while (cin&>&>ca)
{
long long int elem1, elem2;
int len;
cin &>&> len;
for (int i = 0; i &< len; i++){
cin &>&> elem1;
l1.ListInsert(elem1);
}
cin &>&> len;
for (int i = 0; i &< len; i++){
cin &>&> elem2;
l2.ListInsert(elem2);
}
for (int i = 0; i &< l1.ListLength(); i++) { if (l2.LocateElem(l1.GetElem(i))!= -1) { //交集 jiaoji.ListInsert(l1.GetElem(i)); } else { //並集 binji = l2; binji.ListInsert(l1.GetElem(i)); //差集A chajiA.ListInsert(l1.GetElem(i)); } } //差集B for (int i = 0; i &< l2.ListLength(); i++) { if (l1.LocateElem(l2.GetElem(i)) == -1) { chajiB.ListInsert(l2.GetElem(i)); } } //排序 jiaoji.ListSort(); binji.ListSort(); chajiA.ListSort(); chajiB.ListSort(); cout &<&< "Case #" &<&< ca &<&< ":" &<&< endl; //輸出 jiaoji.ListTraverse(); binji.ListTraverse(); chajiA.ListTraverse(); chajiB.ListTraverse(); l1.ClearList(); l2.ClearList(); jiaoji.ClearList(); binji.ClearList(); chajiA.ClearList(); chajiB.ClearList(); } return 0; }
這是全部代碼
推薦閱讀:
※camtasia studio錄完的文件為什麼導不進pr?
※想在ASP.net中整合Bootstrap的LESS源碼,該怎麼做?
※開機總是有一個彈窗 http://www.msftconnecttest.com/redirect ?
※Visual Studio和Eclipse相比有哪些優缺點?
TAG:C | MicrosoftVisualStudio | 指針 | 軟體調試 |