所以我',試圖解決一個任務。 一個已有代碼,但系統出局,「堆棧溢出」 我是在C++的新和我的英語不是很好,所以我很誤解對不起=)堆棧溢出C++
#include <iostream>
using namespace std;
int main(){
int n;
int x;
int k = 0; // счетчик для рабочего массива
int a [200000];
scanf("%d\n",&n);
for (int i = 0; i< n; ++i){
std::cin >> x;
if (x > 0){
k++;
a[k] = x;
}else if(x == 0){
for (int q = 1; q <= k; ++q){ // копирование
a[k+q] = a[q];
}
k *= 2;
}else{
printf("%d %d\n",a[k],k);
k--;
}
}
system("pause");
}
看起來像算法正常工作,但唯一的問題是堆棧。非常感謝!
嘗試使陣列'A'全球性的,即,移動它'main'之外。 –
爲未來,stackoverflow =動態分配/ s的問題,你可能想讀一些關於在C++中的分配機制 – user1824407
誰不絕對*愛*混合stdlib流io('std :: cin >> x')與cstdio('scanf(「%d \ n」,&n);')。 – WhozCraig