গ্রিড ASCII আর্ট কোড গল্ফ


19

চ্যালেঞ্জ

সংক্ষিপ্ততম প্রোগ্রাম তৈরি করুন যা প্রয়োজনীয়তা পূরণ করে

আবশ্যকতা

  1. কোডটি অবশ্যই 0s এর 5x5 গ্রিড তৈরি করতে হবে:

    00000
    00000
    00000
    00000
    00000
    
  2. কোড অবশ্যই একটি ইনপুট (কলাম, সারি, অক্ষর) গ্রহণ করবে। গ্রিড অবশ্যই সেই অনুযায়ী পরিবর্তন করতে হবে:

    শুরু করুন:

    00000
    00000
    00000
    00000
    00000
    

    ইনপুট:

    (2,5,*)
    

    আউটপুট:

    0*000
    00000
    00000
    00000
    00000
    

    (দ্রষ্টব্য: নীচে-বাম কোণটি অবস্থান 1,1।)

  3. প্রোগ্রাম গ্রিড ছাড়া অন্য একটি ত্রুটির বার্তা ফিরে আসবে যদি সারি / কলাম ইনপুট 1,2,3,4, অথবা 5. নয় এটি আপনার পছন্দের যে কোন বার্তা (যেমন গ্রিড নয় যতদিন) হতে পারে, তাই 0হয় একটি গ্রহণযোগ্য ত্রুটি-আউটপুট।

  4. প্রোগ্রামটি অবশ্যই মুদ্রণযোগ্য সমস্ত ASCII অক্ষর (একটি মার্কিন কীবোর্ডের) সাথে কাজ করবে।

বিজয়ী

বিজয়ী সেই ব্যক্তি হবেন যার সংক্ষিপ্ততম কোড রয়েছে এবং সমস্ত প্রয়োজনীয়তা পূরণ করে। যদি একাধিক উত্তর কাজ করে এবং একই (সংক্ষিপ্ততম) দৈর্ঘ্য হয়, তবে যে ব্যক্তি প্রথমে উত্তর দিয়েছে সে বিজয়ী হবে।


8
প্রোগ্রামটি অবশ্যই একটি ত্রুটি বার্তা প্রদান করবে । কি ত্রুটি বার্তা? প্রোগ্রামটি কি 0ত্রুটির জন্য ফিরে আসতে পারে এবং সাফল্যের জন্য গ্রিড?
রড

1
ম্যাট্রিক্সের উত্স কোথায়? এটি কি শূন্য বা এক সূচকের প্রয়োজন?
জর্জ

3
ওয়েল, পিপিসিগিতে স্বাগতম।
এরিক দি আউটগল্ফার

4
তার প্রোগ্রামটি অবশ্যই মার্কিন কীবোর্ডের সমস্ত চরিত্রের সাথে কাজ করবে কেন শুধু এএসসিআইআই নয়? এমনকি আমি কোনও মার্কিন কীবোর্ডের চরিত্রগুলিও জানি না এবং এটি চ্যালেঞ্জের কোনও কিছুই যোগ করে না
লুইস মেন্ডো

1
@ লুইসমেন্দো আমি মনে করি ইউএস কীবোর্ডটি ASCII, বা কমপক্ষে একটি উপসেট।
কনর ও'ব্রায়েন

উত্তর:


11

ডায়ালগ এপিএল , 17 13 10 বাইট

(সারি, কলাম) যুক্ত একটি আবদ্ধ অ্যারে এবং তারপরে একটি অক্ষরের জন্য অনুরোধ জানানো হয়। ত্রুটিযুক্ত ইনপুটটিতে INDEX এরর দেয়।

⊖⍞@⎕⊢5 50

এটি অনলাইন চেষ্টা করুন!

 উল্টাপাল্টা ফলাফল উল্টানো

 ইনপুট-অক্ষর

@ বিষয়বস্তু প্রতিস্থাপন অবস্থান

 মূল্যায়ন-ইনপুট (বদ্ধ সারি, কলাম)

 এর

5 5⍴ 5 × 5 অ্যারের

0 শূন্য


Is প্রয়োজনীয়? আমি মনে করি এক্ষেত্রে এটি অপ্রয়োজনীয়।
কনর ও'ব্রায়েন

1
@ কনরও'ব্রায়ান @ কনরও'ব্রায়েন যদি এটি না থাকে তবে পার্সার (⊂⎕)5 5একক 3-উপাদান অ্যারে হিসাবে দেখবে - এর যুক্তি
অ্যাডাম

এটি 13 ইউনিকোড অক্ষর, 13 বাইট নয়, তাই না?
wilx

1
@ উইলক্স বাইট শব্দটিতে ক্লিক করুন !
অ্যাডাম

এই উত্তরটি বিজয়ী।
ডেভ জোনস

5

রুবি, 157 149 বাইট

g=(1..5).map{[0]*5}
loop{puts g.map(&:join).join ?\n
x=gets.match /\((.),(.),(.)\)/
a,b=x[1].hex,x[2].hex
1/0 if a<1||a>5||b<1||b>5
g[5-b][a-1]=x[3]}

ত্রুটিযুক্ত ত্রুটিযুক্ত ইনপুট বা আবদ্ধ অবস্থানের বাইরে

কনোরো ব্রায়েন (8 বাইট) এবং বাইটস সংরক্ষণে সহায়তার জন্য আফসোস (2 বাইট) ধন্যবাদ


loop do...end-> loop{...}; আমি মনে করি Array.new(5,[0]*5)কাজ করে, খুব, এমনকি [*[0]*5]*5
কনর ও'ব্রায়েন

@ কনরও ব্রায়ান নোপ, Array.new(5,[0]*5)রেফারেন্সের একটি অ্যারে তৈরি করুন এবং [*[0]*5]*5একটি সমতল অ্যারে করুন
টুকসক্র্যাটিং

হ্যাঁ সঠিক. প্রথম ছাড় *। তারপরে এটি এখনও রেফারেন্সগুলির একটি অ্যারে তৈরি করে।
কনর ও'ব্রায়েন

Array.new(5){[0]*5}(1..5).map{[0]*5}2 বাইট সংরক্ষণ করতে প্রতিস্থাপন করা যেতে পারে।
সুস্পষ্ট

4

ব্যাচ, 199 বাইট

@echo off
if %1 gtr 0 if %1 lss 6 if %2 gtr 0 if %2 lss 6 goto g
if
:g
for /l %%j in (5,1,-1)do call:l %* %%j
exit/b
:l
set s=000000
if %2==%2 call set s=%%s:~0,%1%%%3%%s:~%1%%
echo %s:~1,5%

অবস্থান সীমা ছাড়িয়ে থাকলে ত্রুটিগুলি আউট।


আমি মনে করি আপনি <যেমন প্রতীক ব্যবহার করতে পারেন ^<। নিশ্চিত না
কনর ও'ব্রায়েন

3

পিএইচপি, 111 100 97 বাইট

$s=str_repeat("00000\n",5);$s[($x=($a=$argv)[1])+29-6*$y=$a[2]]=$a[3];echo$x&&$y&&$x<6&$y<6?$s:E;

Eসারি / কলাম সীমার বাইরে থাকলে মুদ্রণ করে ।
সাথে চালাওphp -r <code> <row> <column> <character>


3

পাইথন, 66 বাইট

lambda a,b,n,l='00000\n':6>b>0<a<6and(5-b)*l+l[:a-1]+n+l[a:]+~-b*l

এটি কি = 4, খ = 3 এর জন্য ব্যর্থ হবে?
তিতাস

@ টিটাস আর নেই; ডি
রড

1
সমাধান এছাড়াও Python3 জন্য কাজ করে
জর্জ

3

ডায়ালগ এপিএল, 24 20 18 বাইট

জগারবকে 4 টি বাইট সংরক্ষণ করা হয়েছে! অ্যাডামকে ধন্যবাদ 2 বাইট সংরক্ষণ!

a←5 5⍴0⋄a[⊂⎕]←⍞⋄⊖a

ইনপুট জন্য অনুরোধ। একটি ব্যাখ্যা জন্য নীচে দেখুন।


20 বাইট

{a←5 5⍴0⋄a[⊂⍺]←⍵⋄⊖a}

একটি ফাংশন বরাদ্দ করুন এবং কল করুন y x f 'c'। উদাহরণ:

      f←{a←5 5⍴0⋄a[⊂⍺]←⍵⋄⊖a}

      5 2 f '*'
0 * 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0

      6 6 f '*'
INDEX ERROR                   
     ←{a←5 5⍴0 ⋄ a[⊂⍺]←⍵ ⋄ ⊖a}
               ∧              

      0 0 f '*'
INDEX ERROR                   
     ←{a←5 5⍴0 ⋄ a[⊂⍺]←⍵ ⋄ ⊖a}
               ∧   

ব্যাখ্যা

{a←5 5⍴0⋄a[⊂⍺]←⍵⋄⊖a}

{...}বাম আর্গুমেন্ট এবং ডান আর্গুমেন্ট সহ একটি ফাংশন বিবৃতি পৃথক করে, সুতরাং তিনটি বক্তব্য রয়েছে:

a←5 5⍴0⋄a[⊂⍺]←⍵⋄⊖a

প্রথম বিবৃতি একটি গ্রিড দ্বারা a←5 5⍴0সেট aকরে ।550

দ্বিতীয় বিবৃতি সদস্য দ্বারা নির্ধারিত স্থানাঙ্কে সদস্য নির্ধারণ করে করতে (যে চরিত্র)।

পরিশেষে, আমরা সঞ্চালন উপর aএবং রিটার্ন যে, এর প্রথমগুলি ফলনশীল aবিপরীত।


{a←5 5⍴0⋄a[⊂⌽⍺]←⍵⋄⊖a}কয়েক বাইট সাশ্রয়।
জাগারব

@ জগারব ওহ, দুর্দান্ত! আমি জানতাম না ইনডেক্সিং এর মতো কাজ করেছিল।
কনর ও'ব্রায়েন

আপনি ট্রেডফিন বডি এ রূপান্তর করে দুটি বাইট সংরক্ষণ করতে পারেন:a←5 5⍴0⋄a[⊂⎕]←⍞⋄⊖a
অ্যাডাম

@ অ্যাডম কিভাবে কাজ করে? এটি ট্রাইএপিএলে কাজ করবে বলে মনে হচ্ছে না।
কনর ও'ব্রায়েন

@ কনরও ব্রায়ান রাইট ট্রাইএপিএল ইনপুটটির জন্য অনুরোধ করা নিষেধ করে তবে আপনি সম্পূর্ণ সংস্করণটি নিখরচায় পেতে পারেন
অ্যাডম

3

জাভাস্ক্রিপ্ট (ES6), 73 76 বাইট

TypeErrorকলাম বা সারি সীমার বাইরে থাকলে একটি ছুড়ে দেয়।

(c,r,C,a=[...`00000
`.repeat(5)])=>(a[29+c-r*6]=C,c<1|r<1|c>5|r>5||a).join``

ডেমো


মিষ্টি, তবে এটি একটির ত্রুটি ছুঁড়েছে যদি হয় হয় cবা r1 এর চেয়ে কম হয় ?
ইটিএইচ প্রডাকশনগুলি

@ এথ প্রডাকশনগুলি এটি কেবল পরীক্ষা করছে c == 0 || r == 0। তবে আমি অনুমান করি আপনি ঠিক বলেছেন: নেতিবাচক মানগুলি রোধ করতে আমি এটি আপডেট করব।
আর্নল্ড

3

সি #, 199 বাইট

পিট আরডেনের উত্তরের ভিত্তিতে

string g(int c, int r, char a){if(c<1|c>5|r<1|r>5)return "Index Error";var b="00000";var d=new[]{b,b,b,b,b};c--;d[r-1]=new string('0',c)+a+new string('0',4-c);return string.Join("\r\n",d.Reverse());}

Ungolfed:

public static string G(int c, int r, char a)
    {
        if (c < 1 || c > 5 || r < 1 || r > 5) return "Index Error"; // Check it's not out of range
        var b = "00000";
        var d = new [] { b, b, b, b, b };                           // Generate display box, and fill with the default character
        c--;                                                        // Convert the X to a 0 based index
        d[r - 1] = new string('0',c) + a + new string('0',4-c);     // Replace the array's entry in y coordinate with a new string containing the new character
        return string.Join("\r\n", d.Reverse());                    // Reverse the array (so it's the right way up), then convert to a single string
    }

সাইটে স্বাগতম! আমি সি # তে বিশেষজ্ঞ নই, তবে দেখে মনে হচ্ছে এমন কিছু সাদা জায়গা রয়েছে যা আপনি মুছে ফেলতে পারেন।
ডিজেএমসিএমহেম

1
(দুঃখিত, জমা দেওয়ার শিষ্টাচার জানেন না) সংক্ষিপ্ত জি (): পাবলিক স্ট্যাটিক স্ট্রিং জি (ইন্ট সি, ইনট আর, চর এ) {রিটার্ন (0 <সি & অ্যান্ড সি <6 && 0 <আর এন্ড আর <6)? স্ট্রিং।কনক্যাট (গণনাযোগ্য। রেঞ্জ (1,29)। (I => i% 6> 0? I / 6 == 5-r && i% 6 == c? A: '0': '\ n')) নির্বাচন করুন: "সূচী ত্রুটি";}
এরিক


2

জেলি , 28 বাইট

এটি বেশ দীর্ঘ সময় অনুভব করে ...

Ṫ0ẋ24¤;ṙÑs5UY
’ḅ5
Ṗḟ5R¤
-ÑÇ?

TryItOnline!

কিভাবে?

Ṫ0ẋ24¤;ṙÑs5UY - Link 1, make grid: [row, column, character] e.g. [5,2,'*']
Ṫ             - tail: character                                  '*'
     ¤        - nilad followed by link(s) as a nilad  
 0            -     zero
  ẋ           -     repeated
   24         -     24 times                                     [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
      ;       - concatenate:                                     "000000000000000000000000*"
        Ñ     - call next link (2) as a monad                    21
       ṙ      - rotate left by                                   "000*000000000000000000000"
         s5   - split into chunks of length 5                    ["000*0","00000","00000","00000","00000"]
           U  - upend (reveres each)                             ["0*000","00000","00000","00000","00000"]
            Y - join with line feeds                              0*000
              - implicit print                                    00000
                                                                  00000
’ḅ5 - Link 2, position: [row, column]                             00000
’   - decrement                                                   00000
 ḅ5 - convert from base 5

Ṗḟ5R¤ - Link 3, input error checking: [row, column, character]
Ṗ     - pop: [row, column]
 ḟ    - filter out values in
  5R¤ - range(5): [1,2,3,4,5] - any values not in this remain giving a truthy result

-ÑÇ? - Main link: [row, column, character]
   ? - ternary if:
  Ç  -    last link (3) as a monad
-    -    -1 (if truthy - the error identification)
 Ñ   - next link (1) as a monad (if falsey - the grid)

2

জাভাস্ক্রিপ্ট (ES6), 89 বাইট

f=(X,Y,Z,x=5,y=5)=>x+y>1?(x?X+x-6|Y-y?0:Z:`
`)+f(X,Y,Z,x?x-1:5,y-!x):X<1|X>5|Y<1|Y>5?e:""

কারণ আমি পুনরাবৃত্তি পছন্দ করি। ReferenceErrorঅবৈধ স্থানাঙ্কে একটি নিক্ষেপ করে।



2

মস্তিষ্ক-ফ্ল্যাক 415 বাইট

জন্য +3 অন্তর্ভুক্ত -c

([][()()()]){{}}{}({}<(({}<(({})<>)<>>)<>)<>([((((()()()){}){}){}){}]{}<([((((()()()){}){}){}){}]{})>)(()()()()()){({}[()]<(({})){{}(<({}[()])>)}{}({}<(({})){{}(<({}[()])>)}{}>)>)}{}({}{}){<>{{}}<>{}}<>>)<>(()()()()()){({}[()]<(((((((((()()()){}){}){}){})))))((()()()()()){})>)}{}{}<>({}<()((((((()()()){}){}()){}){}()[{}])({})({})({})({}){}{}[((((()()()){}){}){}){}()]){({}[()]<<>({}<>)>)}{}<>{}>)<>{({}<>)<>}<>

অনলাইনে চেষ্টা করে দেখুন!

প্রথমে characterোকাতে অক্ষরটি নিয়ে যায়, তারপরে সারি পরে শূন্যস্থান ছাড়াই কলামটি।

এর বেশিরভাগটি হ'ল ত্রুটি পরিচালনা করা। ব্রেন-ফ্ল্যাকের মানগুলি সীমার মধ্যে রয়েছে কিনা তা পরীক্ষা করার ভাল উপায় নেই have ত্রুটিগুলির জন্য, এটি হয় কিছুই আউটপুট করে না, বা কেবল যে চরিত্রটি beোকানোর কথা ছিল। আসল সমস্যাটি সমাধান করতে কেবল 211 বাইট লাগে:

<>(()()()()()){({}[()]<(((((((((()()()){}){}){}){})))))((()()()()()){})>)}{}{}<>({}<()((((((()()()){}){}()){}){}()[{}])({})({})({})({}){}{}[((((()()()){}){}){}){}()]){({}[()]<<>({}<>)>)}{}<>{}>)<>{({}<>)<>}<>

2

এক্সেল ভিবিএ, 67 বাইট

ভিবিএ প্রকল্পের অ্যাক্টিভশিটে এ 1: E5 ব্যাপ্তির আউটপুটগুলি এতে উপস্থিত হয়

রান-টাইম ত্রুটি '1004':

অ্যাপ্লিকেশন-সংজ্ঞায়িত বা অবজেক্ট সংজ্ঞায়িত ত্রুটি

যখন একটি অবৈধ ইনপুট সরবরাহ করা হয়।

কোড:

Sub a(c,r,x)
c=IIf(r<1Or c>5,-1,c)
[A1:E5]=0
Cells(6-r,c)=x
End Sub

ব্যবহার:

a 4,5,"#"

আউটপুট (উপরের উদাহরণ থেকে) :

    A   B   C   D   E
1   0   0   0   #   0
2   0   0   0   0   0
3   0   0   0   0   0
4   0   0   0   0   0
5   0   0   0   0   0

1

সি #, 208 বাইট

Golfed:

string G(int c,int r,char a){if(c<1||c>5||r<1||r>5)return"Index Error";var b="00000";var d=new string[]{b,b,b,b,b};d[r-1]=d[r-1].Substring(0,c-1)+a+d[r-1].Substring(c);return string.Join("\r\n",d.Reverse());}

Ungolfed:

public string G(int c, int r, char a)
{
  if (c < 1 || c > 5 || r < 1 || r > 5) return "Index Error";
  var b = "00000";
  var d = new string[] { b, b, b, b, b };
  d[r - 1] = d[r - 1].Substring(0, c - 1) + a + d[r - 1].Substring(c);
  return string.Join("\r\n", d.Reverse());
}

পরীক্ষামূলক:

Console.Write(G(6, 6, '*')); //Index Error

Console.Write(G(1, 4, '#'));

00000
#0000
00000
00000
00000

Console.Write(G(5, 5, '@'));

0000@
00000
00000
00000
00000

Console.Write(G(1, 1, '}'));

00000
00000
00000
00000
}0000

যদি cএবং / অথবা rসীমা ছাড়িয়ে যায় তবে এটি একটি ছুঁড়ে ফেলবে IndexOutOfRangeExceptionযাতে আপনি প্রথমে যদি বিবৃতিটি সরিয়ে ফেলতে সক্ষম হন তবে আমি তার জন্য চশমা সঠিকভাবে পরীক্ষা করে নিই। Func<int, int, char, string>বাইটস সংরক্ষণ করার জন্য using System.Linq;আপনি Reverse
একটিতে

পরিবর্তন d[r - 1] = d[r - 1].Substring(0, c - 1) + a + d[r - 1].Substring(c);করার জন্য d[--r] = d[r].Substring(0, c - 1) + a + d[r].Substring(c);4 বাইট সংরক্ষণ করতে
TheLethalCoder

1

WinDbg, 95 বাইট

j(0<(@$t0|@$t1))&(6>@$t0)&(6>@$t1)'f8<<16 L19 30;eb2000018+@$t0-@$t1*5 @$t2;da/c5 8<<16 L19';?0

প্রায় অর্ধেক এটা শুধু যাচাই ইনডেক্স সীমার মধ্যে হয় ... ইনপুট psuedo-রেজিস্টার সেটিং দ্বারা সম্পন্ন করা হয় $t0, $t1এবং $t2(যেখানে $t2প্রতিস্থাপন গৃহস্থালির কাজ এর ASCII মান ঝুলিতে)। উদাহরণস্বরূপ, উদাহরণটির (2,5,*)মতো হবে:

0:000> r$t0=2
0:000> r$t1=5
0:000> r$t2=2a

ছাপে 0ত্রুটিতে ।

কিভাবে এটা কাজ করে:

j (0<(@$t0|@$t1)) & (6>@$t0) & (6>@$t1)  * If $t0 and $t1 are both positive and less than 6
'
    f 8<<16 L19 30;                      * Put 19 (0n25) '0's (ascii 30) at 2000000 (8<<16)
    eb 2000018+@$t0-@$t1*5 @$t2;         * Replace the specified cell with the new char
    da /c5 8<<16 L19                     * Print 19 (0n25) chars in rows of length 5
';
    ?0                                   * ...Else print 0

নমুনা আউটপুট:

0:000> r$t0=2
0:000> r$t1=5
0:000> r$t2=2a
0:000> j(0<(@$t0|@$t1))&(6>@$t0)&(6>@$t1)'f8<<16 L19 30;eb2000018+@$t0-@$t1*5 @$t2;da/c5 8<<16 L19';?0
Filled 0x19 bytes
02000000  "0*000"
02000005  "00000"
0200000a  "00000"
0200000f  "00000"
02000014  "00000"


0:000> r$t0=-2
0:000> j(0<(@$t0|@$t1))&(6>@$t0)&(6>@$t1)'f8<<16 L19 30;eb2000018+@$t0-@$t1*5 @$t2;da/c5 8<<16 L19';?0
Evaluate expression: 0 = 00000000


0:000> r$t0=4
0:000> r$t1=2
0:000> r$t2=23
0:000> j(0<(@$t0|@$t1))&(6>@$t0)&(6>@$t1)'f8<<16 L19 30;eb2000018+@$t0-@$t1*5 @$t2;da/c5 8<<16 L19';?0
Filled 0x19 bytes
02000000  "00000"
02000005  "00000"
0200000a  "00000"
0200000f  "000#0"
02000014  "00000"


0:000> r$t1=f
0:000> j(0<(@$t0|@$t1))&(6>@$t0)&(6>@$t1)'f8<<16 L19 30;eb2000018+@$t0-@$t1*5 @$t2;da/c5 8<<16 L19';?0
Evaluate expression: 0 = 00000000

1

হাস্কেল, 77 বাইট

r=[1..5]
(x#y)c|x>0,x<6,y>0,y<6=unlines[[last$'0':[c|i==x,j==6-y]|i<-r]|j<-r]

ব্যবহারের উদাহরণ:

*Main> putStr $ (2#5) '*'
0*000
00000
00000
00000
00000

যদি xএবং yমাধ্যমে পরিসীমা, বাইরের এবং ভিতরের লুপ মধ্যে রয়েছে [1..5]এবং গৃহস্থালির কাজ নিতে cএটি দেওয়া হিট যদি xএবং yএবং একটি 0অন্যথায়। যদি xবাy পরিসীমা না থাকে, একটি Non-exhaustive patternsব্যতিক্রম উত্থাপিত হয়।



1

কিউবিআইসি , 53 50 বাইট

সম্পাদনা: এখন যেহেতু আমি জানি যে আমাকে প্রারম্ভিক গ্রিডটি প্রদর্শন করতে হবে না, আমি 3 বাইট সংরক্ষণ করে _!_!_?কমান্ড লাইন প্যারামিটারগুলির জন্য ব্যবহারকারী ইনপুটগুলি সরিয়ে নিয়েছি ::;

[5|?@00000|]::;~(b>5)+(c>5)>1|_Xd\$LOCATE 6-c,b|?B

আসল সংস্করণ: 0-গ্রিডটি মুদ্রণ করা এবং 0-গ্রিড দেখিয়ে প্রতিস্থাপনের জন্য স্থানাঙ্কগুলি নেওয়ার মধ্যে এই থেমে যায়।

[5|?@00000|]_!_!_?~(b>5)+(c>5)>1|_Xd\$LOCATE 6-c,b|?B

5 এর 5 টি স্ট্রিং মুদ্রণ করে 0, 2 সংখ্যার ইনপুট এবং 1 স্ট্রিং ইনপুট জন্য ব্যবহারকারীকে জিজ্ঞাসা করে, সংখ্যা <5 হয় কিনা তা পরীক্ষা করে এবং LOCATEসঠিক অক্ষরের পরিবর্তে কিউবাসিকের ফাংশন ব্যবহার করে।



0

> <> (ফিশ), ৩ by বাইট (প্রতিযোগী নয়)

1-$p;
00000
00000
00000
00000
00000

এখানে চেষ্টা করুন!

এই [মত স্ট্যাক পরামিতি স্থাপন দ্বারা চালানো হয় chr, y, x]। নীচে অবস্থিত একটি শূন্যটি আসলে chrনির্দেশ দ্বারা পরিবর্তিত হয়েছে p। এটি করার আরও ভাল উপায় আছে তবে আমি ভেবেছিলাম এটি একটি অনন্য এবং বিনোদনমূলক পরিস্থিতি যেখানে এই> <> বৈশিষ্ট্যটি কার্যকর।

ব্যাখ্যা

এই প্রোগ্রামটি কেবল 1 subtracts থেকে x(> <> হিসাবে, 0প্রথম কলামে আসলে হবে), অদলবদল xসঙ্গে y, তারপর codebox বিন্দু পরিবর্তন x, yমধ্যে chrমাধ্যমে pyকোডটি ইতিমধ্যে 1 দ্বারা সমস্ত অফসেট হিসাবে এটি থেকে 1 বিয়োগের প্রয়োজন নেই!

অ-প্রতিযোগিতামূলক ব্যাখ্যা

এটি অ-প্রতিযোগিতামূলক কারণ এটি আসলে আউটপুট উত্পাদন করে না। আমি সবেমাত্র এটি অত্যন্ত মজাদার খুঁজে পেয়েছি। যদি এটি বৈধ আউটপুট হিসাবে বিবেচিত হয় তবে দয়া করে আমাকে জানান!

এটি অ-প্রতিদ্বন্দ্বীও কারণ y0 হতে পারে তবে আমি বিশ্বাস করি যে উত্তরটিই কেবল এটিই issue এটিকে বৈধ আউটপুট হিসাবে বিবেচনা করা হলে আমি ঠিক করব, তবে অন্যথায় এটি উত্তরটি কম বিনোদনমূলক করে তোলে ...


2
যদি এর মতো উত্তরগুলি নিরুৎসাহিত করা হয় তবে দয়া করে আমাকে জানান এবং আমি এটি মুছে ফেলব!
redstarcoder

0

বাশ, 59 বাইট

Golfed

printf '00000%0.s\n' {1..5}|sed "$1 s/./$3/$2"|grep -z "$3"

$ 1 , $ 2 - সারি, কলাম, $ 3 - প্রতিস্থাপন চর, প্রস্থান কোডের মাধ্যমে ত্রুটির খবর দেওয়া হয়েছে

পরীক্ষা

>./box 2 2 "*"
00000
0*000
00000
00000
00000
>echo $?
0

>./box 6 2 '*'     
>echo $?
1

0

ভিম, 60 47 42 76 কীস্ট্রোক

ইনপুটটি বিন্যাসে রয়েছে (প্রথম লাইনে):

25*

শুরুতে কার্সারটি শুরু হয়

"ax"bxx:if<C-r>a<1||<C-r>a>5||<C-r>b<1||<C-r>b>5
^
endif
6i0<ESC>Y5pG:norm <C-r>al<C-r>bkr<C-r>-
Hqqxjq5@qdd

যদি ইনপুটটি অবৈধ হয়, তবে ছোঁড়ে: E492: Not an editor command: ^

আউটপুট উত্পাদন করে 42এমন সাইটটি কেবলমাত্র বাইটস, তবে একটি ত্রুটি তৈরি করার জন্য, আমার বাইটকাউন্টটি মারাত্মকভাবে বৃদ্ধি পেয়েছে।


বিটিডাব্লু আমি জানি না কীভাবে
ভিমে

0

জাভা 8, 194 192 বাইট

interface M{static void main(String[]a){String r="";int i=0,j,z=new Byte(a[0]),y=new Byte(a[1]);for(;++i<6;r+="\n")for(j=0;++j<6;r+=6-i==y&j==z?a[2]:0);System.out.print(z>0&z<7&y>0&y<7?r:0);}}

এখানে সঠিক ইনপুট দিয়ে চেষ্টা করুন।
এখানে ভুল ইনপুট দিয়ে চেষ্টা করুন।

এটি পুরো প্রোগ্রামের পরিবর্তে ফাংশন হিসাবে 116 114 বাইট হবে:

(a,b,c)->{String r="";for(int i=0,j;++i<6;r+="\n")for(j=0;++j<6;r+=b==6-i&a==j?c:0);return a>0&a<7&b>0&b<7?r:"0";}

এখানে চেষ্টা করুন।

ব্যাখ্যা:

interface M{                  // Class
  static void main(String[]a){//  Mandatory main-method
    String r="";              //   Result-String, starting empty
    int i=0,j,                //   Index-integers
        z=new Byte(a[0]),     //   First input converted to integer
        y=new Byte(a[1]);     //   Second input converted to integer
    for(;++i<6;               //   Loop (1) from 1 to 6 (inclusive)
        r+="\n")              //     After every iteration: Append a new-line to the result
      for(j=0;++j<6;          //    Inner loop (2) from 1 to 6 (inclusive)
        r+=6-i==y             //     If the second input equals `6-1`,
           &j==z?             //     and the first input equals `j`:
            a[2]              //      Append the third input to the result-String
           :                  //     Else:
            0                 //      Append a zero to the result-String
      );                      //    End of inner loop (2)
                              //   End of inner loop (1) (implicit / single-line body)
    System.out.print(         //   Print:
     z>0&z<7&y>0&y<7?         //    If the coordinates are valid (1-6):
      r                       //     Print the result `r`
     :                        //    Else:
      0);                     //     Print 0 as error instead
  }                           //  End of main-method
}                             // End of class
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.