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

Mr. July viết 20:57 ngày 30/09/2018

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 @@

Minh Hoàng viết 20:52 ngày 30/09/2018

Trong hàm result thì x[10] ko tồn tại nhé, cho i chạy đến 9 thôi

lahata viết 20:58 ngày 30/09/2018

Compiler báo lỗi gì thế bạn, nhìn mãi vẫn không ra lỗi compile

Hoan Sò viết 20:52 ngày 30/09/2018

chẳng biết nó báo lỗi hệ thống , tại cho n vào vào result trong hàm main k được

Pham Van Hai viết 20:43 ngày 30/09/2018

Lỗ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:

Đạt thấy có nhiều topic mất rất nhiều thời gian để thu hút sự chú ý của các thành viên khác và nhận được câu trả lời. Bài viết này chia sẻ một số mẹo để có thể thu hút được sự chú ý của người đọc và mau chóng nhận được câu trả lời Tiêu đề cần phải rõ ràng Đây là vấn đề chung mà nhiều thành viên mới vấp phải, với một tiêu đề rõ ràng dễ hiểu thì người có chuyên môn sẽ nhanh chóng hiểu được rằng họ có khả năng trả lời câu hỏi. Điều này khiến họ mau chóng vào đọc và trả lời. Đọc thêm: Làm sao đ…
Hoan Sò viết 20:46 ngày 30/09/2018

goneboy viết 20:53 ngày 30/09/2018

Mình copy source của bạn về build thấy bình thường mà

Man Coi Man viết 20:46 ngày 30/09/2018

đổi void main() sang int main() xem

Ne To viết 20:43 ngày 30/09/2018

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)

Ngô Doãn Tuấn viết 20:58 ngày 30/09/2018

Sao mình chạy nó không báo lỗi vậy ?
Mà chương trình kì vậy taz >>>>>

Huy Thọ viết 20:51 ngày 30/09/2018

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.

Baotin Pham viết 20:49 ngày 30/09/2018

Bạn thử đổi void main() thanh int main() thử xem

Nguyễn Anh Dũng viết 20:42 ngày 30/09/2018

exactly
20 characters

Hoan Sò viết 20:57 ngày 30/09/2018

cách này được rồi nhé!

Bài liên quan
0