Computer >> Máy Tính >  >> Lập trình >> lập trình C

Một câu đố Boolean Array trong C?


Đây là một câu đố dựa trên mảng cần bạn thay đổi tất cả các số của một mảng chứa hai phần tử thành 0. Một phần tử của mảng là 0 và phần tử khác có thể bằng 0 hoặc không.

Để giải câu đố này, chương trình cần tìm phần tử khác 0 và đổi thành 0.

Đó là những ràng buộc cần thiết sau để giải câu đố mảng boolean -

  • Hoạt động được phép là bổ sung, các hoạt động khác không được phép.
  • Vòng lặp và câu lệnh điều kiện không được phép.
  • Việc chỉ định trực tiếp cũng không được phép.

CHƯƠNG TRÌNH GIẢI QUYẾT CÂU ĐỐ ĐẾN BOOLEAN

#include <iostream>
using namespace std;
void makeZero(int a[2]) {
   a[ a[1] ] = a[ !a[1] ];
}
int main() {
   int a[] = {1, 0};
   makeZero(a);
   cout<<"arr[0] = "<<a[0]<<endl;
   cout<<"arr[1] = "<<a[1];
   return 0;
}

Đầu ra

arr[0] = 0
arr[1] = 0
You can use other ways too. Like this one which does not require the negation operation.
a[ a[1] ] = a[ a[0] ]