আমি "20 কিউ কোড" গুগল করে এটি পেয়েছি: http://mosaic.cnLive.com/B142LCW2008A197
এই সংস্করণটি কেবল প্রাণীদের জন্য তবে আসল 20 টি প্রশ্নের মধ্যে সম্ভবত একটি অনুরূপ আলগোরিটম রয়েছে।
আমি যে কোডটি সংযুক্ত করেছি তার একটি দ্রুত পর্যালোচনা এখানে দেওয়া হয়েছে:
প্রোগ্রামটিতে বেশ কয়েকটি পৃথক উত্তর রয়েছে od বেশ কয়েকটি সত্য বা মিথ্যা বৈশিষ্ট্য তাদের পরে নির্ধারিত হয়:
#define ANIMALS_LIST "daddylonglegs bee penguin eagle giraffe octopus tiger elephant jellyfish bull \nparrot dolphin python crocodile cat leopard monkey zebra sheep rat \nowl spider frog polarbear snail tortoise rabbit salmon rhino fox"
#define MAMMALS "0 0 0 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 1"
#define FLYING_ANIMALS "1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
#define WATER_ANIMALS "0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0"
#define BEAK "0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0"
...
যেমন আপনি দেখতে পাচ্ছেন মৌমাছিটি স্তন্যপায়ী নয় তবে এটি উড়ে যায় ইত্যাদি etc.
প্রতিটি গ্রুপের জন্য একটি অ্যারে রয়েছে:
int mammals[ TOTAL_ANIMALS ] = { 0 };
int flying_animals[ TOTAL_ANIMALS ] = { 0 };
int water_animals[ TOTAL_ANIMALS ] = { 0 };
...
যখন প্রতিটি প্রশ্ন জিজ্ঞাসা করা হয়:
askUserQuestion( guesses, "\nQuestion %d: Is your animal a mammal? \n", mammals );
প্রোগ্রামটি যথাযথ বিভাগের সংজ্ঞাটি দেখে এবং কোন প্রাণীটি সম্ভবত সত্য বা মিথ্যা মান এবং আপনার ইনপুটযুক্ত হ্যাঁ বা প্রশ্নের উত্তর নেই তার উপর নির্ভর করে আপনি যে প্রাণীটির কথা ভাবছেন তা সন্ধান করে।
এটি এতে করা হয়:
void askUserQuestion( int guessNumber, char* question, int* animalData );