आपका काम एक पूरा कार्यक्रम या समारोह है कि कोई इनपुट लेता है और लूप (किसी भी प्रकार चलाता है लिखना है while
, for
, foreach
, do
, do-while
, do-loop
, goto
, प्रत्यावर्तन, आदि) कि एक त्रुटि, जिसका मतलब है कि कार्यक्रम चलाने में ही रोकने के लिए और करना होगा जिससे में खत्म हो जाएगा बाहर जाएं।
नियम:
- त्रुटि एक रन-टाइम त्रुटि, अखंडित अपवाद या कुछ भी होना चाहिए जो प्रोग्राम को स्वयं समाप्त करता है।
- त्रुटि को
exit;
किसी बिंदु पर स्पष्ट रूप से (या समतुल्य) बुलाए बिना कार्यक्रम से रोकना और बाहर निकलना होगा। - जैसे संदेश
Warning:
,Notice:
, आदि, कि इस कार्यक्रम का कारण नहीं है अपने आप समाप्त करने के लिए मान्य नहीं हैं। उदाहरण के लिए शून्य से PHP डिवीजनों में एकWarning
संदेश का उत्पादन होता है, लेकिन कार्यक्रम बंद नहीं होगा और अभी भी चलेगा, यह एक वैध जवाब नहीं है। - लूप को कम से कम एक पूर्ण चक्र चलना चाहिए। दूसरे शब्दों में त्रुटि दूसरे चक्र और आगे शुरू हो सकती है। यह गलत कोड सिंटैक्स का उपयोग करके त्रुटि का कारण बनने से बचने के लिए है: कोड को सिंटैक्टिक रूप से सही होना चाहिए।
for(;;);
यदि यह उपरोक्त नियमों का सम्मान करता है, तो लूप भी अनंत (उदाहरण ) हो सकता है, लेकिन रन-टाइम त्रुटि में खुद को समाप्त करने के लिए 2 मिनट से अधिक का समय नहीं लेना चाहिए।- टेल कॉल ऑप्टिमाइज़ेशन के बिना पुनरावर्तन अमान्य है ( 1 , 2 )।
- यह कोड-गोल्फ है इसलिए सबसे छोटा कोड जीतता है।
- मानक खामियों को मना किया जाता है।
C # उदाहरण ( ऑनलाइन परीक्षा ):
using System;
public class Program {
public static void Main() {
int i;
int[] n;
n = new int[5];
for(i=0; i<7; i++) {
n[i] = i;
Console.WriteLine(n[i]);
}
}
}
Output:
0
1
2
3
4
Run-time exception (line 9): Index was outside the bounds of the array.
Stack Trace:
[System.IndexOutOfRangeException: Index was outside the bounds of the array.]
at Program.Main(): line 9
लीडरबोर्ड:
var QUESTION_ID=104323,OVERRIDE_USER=59718;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important;font-family:Arial,Helvetica; font-size:12px}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
लीडरबोर्ड स्निपेट के लिए मार्टिन एंडर को धन्यवाद
for(a;b;c)d;
, विच कथन के बाद पहला चक्र समाप्त होता है? क्या c
बयान के पहले साक्ष्य को तोड़ना वैध है ?
a, b, d, c, b, d, c, ...
, b
चक्र की शुरुआत है, और कम से कम दूसरी बार चलना चाहिए।