30/09/2018, 18:41
Lỗi ngớ ngẫn mà không giải thích nổi
#include<iostream>
using namespace std;
int x[10];
bool check = false;
int n;
void reSult(int n){
for (int i = 1; i <= n; i++)
{
cout << x[i];
}
cout << endl;
}
void next(int n){
int k = n;
while (k>0 && x[k]==1)
{
k--;
}
if (k == 0)
{
check = true;
}
else
{
x[k] = 1;
for (int j = k + 1; j <=n ; j++)
{
x[j] = 0;
}
}
}
void main(){
cin >> n;
for (int i = 1; i <= n; i++)
{
x[i] = 0;
}
while (!check)
{
reSult(n);
next(n);
}
}
Tại sao khi build thì nó báo là lỗi n ở vòng while ở hàm main
Bài liên quan
Mình chưa debug để xem lỗi thế nào nhưng bạn nên đặt tên biến toàn cục vs địa phương khác nhau đi, nhìn đâu cũng thấy n, loạn cả mắt @@
Trong hàm result thì x[10] ko tồn tại nhé, cho i chạy đến 9 thôi
Compiler báo lỗi gì thế bạn, nhìn mãi vẫn không ra lỗi compile
chẳng biết nó báo lỗi hệ thống , tại cho
n
vào vào result trong hàmmain
k đượcLỗi gì thì bạn copy thông báo lỗi rồi post lên, thì mọi người mới biết mà giúp bạn chứ.
Bạn cứ nói mập mờ thế chắng ai giúp được bạn đâu.
Bạn cũng nên tham khảo cái này:
Mình copy source của bạn về build thấy bình thường mà
đổi void main() sang int main() xem
Bạn sửa lại tên hàm next(int n) thành Next(int n) là được !! Vì trong c++ cũng có 1 hàm next() nên lúc compiler biên dịch nó báo lỗi do compiler hiểu nhầm là hàm next() của bạn là hàm của c++ (hàm của c++ có 2 tham số đầu vào)
Sao mình chạy nó không báo lỗi vậy ?
Mà chương trình kì vậy taz >>>>>
Chương trình này dùng để làm vậy bạn…Mình chạy thử thấy nó vẫn chạy bình thường mà.thêm cái system(“pause”) cho nó dừng màn hình nhé bạn.
Bạn thử đổi void main() thanh int main() thử xem
exactly
20 characters
cách này được rồi nhé!