{"id":15231,"date":"2022-10-10T21:10:56","date_gmt":"2022-10-10T15:40:56","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/"},"modified":"2022-10-10T21:10:56","modified_gmt":"2022-10-10T15:40:56","slug":"solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/","title":{"rendered":"[Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can&#8217;t get correct [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-62865366\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"62865366\" data-parentid=\"62855396\" data-score=\"1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>As has already been pointed out in the comments section, there are at least 3 bugs in your code:<\/p>\n<ol>\n<li>Your question states that the user should think of a number between 1 and 100, but the variables <code>min<\/code> and <code>max<\/code> are initialized to 0 and 100, as if the user was supposed to think of a number between 0 and 100. Therefore, you should initialize <code>min<\/code> to <code>1<\/code> instead of <code>0<\/code>.<\/li>\n<li>When the user replies &#8220;yes&#8221; to the question whether the number is below a certain value, you set <code>max<\/code> to this value. This does not make sense, because you know that the number cannot be this value, but must be below this value. Therefore, you should set <code>max<\/code> to this value minus 1.<\/li>\n<li>When <code>min == 1<\/code> and <code>max == 2<\/code>, it would make sense for the next question your program asks to be whether the number is &#8220;&lt; 2&#8221;, in order to determine whether the number is <code>1<\/code> or <code>2<\/code>. However, in that case, your program asks whether the number is &#8220;&lt; 1&#8221;, which does not make sense, because it already knows that the answer to that question is &#8220;no&#8221;. Therefore, instead of asking whether the number is smaller than <code>(max + min) \/ 2<\/code>, it would make more sense to ask whether the number is smaller than <code>(max + min + 1) \/ 2<\/code>.<\/li>\n<\/ol>\n<p>I have cleaned up your code a bit and fixed the bugs mentioned above. Here is the code:<\/p>\n<pre><code>#include &lt;iostream&gt;\n#include &lt;string&gt;\n\nconstexpr int MIN = 1;\nconstexpr int MAX = 100;\n\nint main()\n{\n    int min{ MIN };\n    int max{ MAX };\n    std::string response;\n\n    std::cout &lt;&lt; \"Think of a number between \" &lt;&lt; MIN &lt;&lt; \" and \" &lt;&lt; MAX &lt;&lt; \".\" &lt;&lt; std::endl;\n\n    while ( min != max )\n    {\n        int guess = (max + min + 1) \/ 2;\n        std::cout &lt;&lt; \"Is the number &lt; \" &lt;&lt; guess &lt;&lt; \"? \";\n        std::cin &gt;&gt; response;\n        if ( response == \"y\" || response == \"yes\" )\n        {\n            max = guess - 1;\n        }\n        else if ( response == \"n\" || response == \"no\" )\n        {\n            min = guess;\n        }\n        else\n        {\n            std::cout &lt;&lt; \"Invalid response\" &lt;&lt; std::endl;\n        }\n\n        \/\/The following line only exists for debugging purposes and can be disabled\n        std::cout &lt;&lt; \"min: \" &lt;&lt; min &lt;&lt; \" max: \" &lt;&lt; max &lt;&lt; std::endl;\n    }\n\n    std::cout &lt;&lt; \"The number is \" &lt;&lt; min &lt;&lt; \".\" &lt;&lt; std::endl;\n\n    return 0;\n}\n<\/code><\/pre>\n<p>I have rearranged the code in such a way that the numbers <code>1<\/code> and <code>100<\/code> are hard-coded only in one place, instead of several places in the program. This allows you to change the range very easily, without having to change the numbers in several places in the program.<\/p>\n<p>One thing that my code does not do is stop asking after 6 questions, because it can take up to 7 questions to find the correct answer. In your question, you specified that it should ask not more than 6 times, but did not specify what should happen if it has not found the answer by then.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">1<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can&#8217;t get correct [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] As has already been pointed out in the comments section, there are at least 3 bugs in your code: Your question states that the user should think of a number between 1 and 100, but the variables min and max are initialized to 0 and 100, as if the user was supposed to think &#8230; <a title=\"[Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can&#8217;t get correct [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/\" aria-label=\"More on [Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can&#8217;t get correct [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324],"class_list":["post-15231","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can&#039;t get correct [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can&#039;t get correct [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] As has already been pointed out in the comments section, there are at least 3 bugs in your code: Your question states that the user should think of a number between 1 and 100, but the variables min and max are initialized to 0 and 100, as if the user was supposed to think ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-10T15:40:56+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can&#8217;t get correct [closed]\",\"datePublished\":\"2022-10-10T15:40:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/\"},\"wordCount\":357,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/\",\"name\":\"[Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can't get correct [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-10-10T15:40:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can&#8217;t get correct [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can't get correct [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can't get correct [closed] - JassWeb","og_description":"[ad_1] As has already been pointed out in the comments section, there are at least 3 bugs in your code: Your question states that the user should think of a number between 1 and 100, but the variables min and max are initialized to 0 and 100, as if the user was supposed to think ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/","og_site_name":"JassWeb","article_published_time":"2022-10-10T15:40:56+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can&#8217;t get correct [closed]","datePublished":"2022-10-10T15:40:56+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/"},"wordCount":357,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/","name":"[Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can't get correct [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-10-10T15:40:56+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-c-question-user-think-a-number-1-100-program-asks-questions-no-more-than-6-times-to-get-answer-cant-get-correct-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] C++ question: User think a number 1-100, program asks questions no more than 6 times to get answer. can&#8217;t get correct [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/15231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=15231"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/15231\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=15231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=15231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=15231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}