আমি উত্স কোড স্থানান্তর, আপনি ইনপুট স্থানান্তর!


31

রিপ-অফ অফ রিপ অফ অফ রিপ অফ অফ রিপ-অফ । তাদের উপরে যান!

আপনার কাজটি যদি আপনি এটি গ্রহণ করতে চান তবে একটি প্রোগ্রাম / ফাংশন লিখতে হবে যা তার ইনপুট / আর্গুমেন্টকে আউটপুট দেয় / প্রদান করে ¹ জটিল অংশটি হ'ল আমি যদি আপনার উত্স কোড² স্থানান্তর করি তবে আউটপুট / ফলাফলটি অবশ্যই স্থানান্তর করতে হবে।

  1. আপনার সমাধানটি কোন ধরণের 2D ডেটা গ্রহণ করতে পারে তা চয়ন করতে পারেন। উদাহরণস্বরূপ তালিকাগুলির একটি তালিকা, একটি ম্যাট্রিক্স, স্ট্রিংগুলির একটি তালিকা, ইত্যাদি কোনটি (গুলি) পরিচালনা করে তা জানায়। আপনি ধরে নিতে পারেন যে ইনপুটটি সর্বদা আয়তক্ষেত্রাকার হবে এবং প্রতিটি মাত্রার সাথে তার দৈর্ঘ্য 1 বা আরও বেশি হবে।

  2. স্থানান্তর করার উদ্দেশ্যে, আপনার উত্স কোডের ছোট লাইনগুলি আয়তক্ষেত্রাকার না হওয়া অবধি পিছনের স্থানগুলির সাথে প্যাডড হিসাবে বিবেচিত হবে, তবে এই প্যাডযুক্ত ট্রেলিং স্পেসগুলি আপনার কোডের দৈর্ঘ্যে অবদান রাখে না।

যেহেতু এটি , তাই টার্গেটটি মূল উত্স কোডের বাইট গণনা (ট্রান্সপোজড সংস্করণ নয়) অনুকূল করা।

উদাহরণ

ধরা যাক আপনার সমাধানটি একটি সংখ্যাসূচক ম্যাট্রিক্স নিয়েছে এবং আপনার উত্স কোডটি

AB
DEF

এবং এর ইনপুট / আর্গুমেন্ট হয় [[1,2],[3,4],[5,6]]। যদি আমি লিখি

AD
BE
 F

পরিবর্তে এবং এটি চালান, আউটপুট / ফলাফল অবশ্যই হবে [[1,3,5],[2,4,6]]

ধরা যাক আপনার সমাধানটি একটি লাইনফিড-বিচ্ছিন্ন স্ট্রিং নেয় এবং আপনার উত্স কোডটি is

ABC

এবং এর ইনপুট / আর্গুমেন্ট হয় "96\n"। যদি আমি লিখি

A
B
C

পরিবর্তে এবং এটি চালান, আউটপুট / ফলাফল অবশ্যই হবে "9\n6\n"


23
আমার দেবতা। আমরা কি থামাতে পারি?
JL2210

3
@ নাইট 2 না, এটি বিষয়গুলিকে জটিল করে তোলে।
এডম

14
@ জেএল 2210 না, আমার কাজগুলির মধ্যে একটি বড় রয়েছে।
এডম

7
এই চ্যালেঞ্জগুলি গুরুতর মন্তব্য অপব্যবহার ছাড়া পদ্ধতিগত ভাষায় অসম্ভব হয়ে উঠছে।
JL2210

উত্তর:


27

পাইথন 3 + নম্পি, 45 বাইট

lambda\
a:a
ma= """
b.    "
dT"   "
a "
\ """

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

পূর্ববর্তী সংস্করণটির একটি বাগ চিহ্নিত করার জন্য @ এরিকথিউটগলফারকে ধন্যবাদ

পক্ষান্তরিত:

lambda\
a:a.T  
ma= """
b     "
d "   "
a "    
\ """  

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

ফাংশনগুলি একটি নমপি ম্যাট্রিক্সকে ইনপুট হিসাবে আউটপুট দেয় এবং আঙ্কুল ম্যাট্রিক্স আউটপুট দেয়। সমাধানটি অন্যান্য অনেকগুলি সমাধানের মতো মন্তব্যে নির্ভর করে না বরং এর পরিবর্তে মাল্টি-লাইন স্ট্রিংগুলি শোষণ করে।


3
আসলেই ঝরঝরে!
এডম

হুঁ, আমি নিশ্চিত যে ট্রান্সপোজড সংস্করণটি ফাঁকা স্থানের সাথে প্যাড করা হবে, সুতরাং শেষ লাইনে ট্রেলিং স্পেস থাকবে, সুতরাং এটি \একটি নিক্ষেপ করবে SyntaxError। এটি ঠিক করতে আপনার উভয় দিকের উদ্ধৃতিগুলি স্থানান্তর করতে হবে।
এরিক আউটগল্ফার

পছন্দ করেছেন ধন্যবাদ।
জোয়েল

15

জেলি , 2 বাইট

ইনপুট হল তালিকার একটি তালিকা। উত্তরটি উন্নত করার জন্য লুইস মেন্ডো এবং নিক কেনেডিকে ধন্যবাদ।

ZZ

এটি অনলাইন চেষ্টা করুন! ট্রান্সপোসড করে দেখুন!

প্রোগ্রামটি মূল ইনপুটটি ফেরত দিয়ে দুবার ইনপুট স্থানান্তর করে। স্থানান্তরিত সংস্করণ প্রথম লাইনটিকে উপেক্ষা করে এবং কেবল একবারে স্থানান্তরিত করে।


13

আর , 5 4 বাইট

#t
I

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

একটি আর ফাংশন, হয় পরিচয় ফাংশন Iবা স্থানান্তরিত হওয়ার সময় স্থানান্তর ফাংশন t। টিআইও-তে পাদলেখ উভয়ের আউটপুট দেখায়।

একটি বাইট সংরক্ষণ করার জন্য @ রবিনরাইডারকে ধন্যবাদ!


You don't need the final #.
Robin Ryder

@RobinRyder thanks! For some reason I was padding to a rectangle even though I’d seen the statement that it was unnecessary.
Nick Kennedy

10

C (gcc), 209 205 203 201 bytes

Normal

f(n,L,r,c)char**L;{for(c=0;0?L+  c:c<n;c+=puts(""))for(r=0;0?r :L[c][r];r++)putchar(L[ c ][ r ]);}/*
          \\\      \\      1 [0][]      \ \\\  \   \\      1 <n          \  \\\\\\   r+-c c+-r    */

Try it online!

Transposed

f 
( 
n 
, 
L 
, 
r 
, 
c 
) 
c\
h\
a\
r 
* 
* 
L 
; 
{ 
f\
o\
r 
( 
c 
= 
0 
; 
01
? 
L[
+0
 ]
 [
c]
: 
c 
< 
n 
; 
c 
+\
= 
p\
u\
t\
s 
( 
"\
" 
) 
) 
f\
o\
r 
( 
r 
= 
0 
; 
01
? 
r<
 n
: 
L 
[ 
c 
] 
[ 
r 
] 
; 
r 
+\
+ 
) 
p\
u\
t\
c\
h\
a\
r 
( 
L 
[r
 +
c-
 c
] 
[c
 +
r-
 r
] 
) 
; 
} 
/*
*/

Try it online!


8

Haskell, 51 bytes

This version is valid, but will not halt when given [] as input.

f
--(:[|,<zabf=]f
--abx(y-i$]
-- ):x) pf;x[:x
 y =y

Try it online!

Transposed, 75 bytes

f---
 ---y
 (a
 :b)=
 [x:y
 |(x
 ,y)
 <-
 zip
 a$f
 b];
 f x
 = [
 ] :
 f x

Try it online!

Haskell, 51 bytes

This version is valid, but crashes with [] as input for the transposed version.

f
--d[(idi)z[.]d!0
-- m!)|,<i0.$ !]
-- a! (_-p
 p=p

Try it online! Transposed

Haskell, 75 67 57 bytes

At least 7 bytes saved thanks to Ørjan Johansen

This version outputs [] when given [] as input.

f
--[[d(i<di)z[.$!0
--]]=!)$|,<i0.d!]
-- ;[! >(_-p ]
 f=f

Try it online!

Transposed



@ আরজান জোহানসেন ধন্যবাদ! আমি এর আগেও এরকম কিছু চেষ্টা করেছি কিন্তু কাজ করতে পারিনি। আপনার 60 এর থেকে আরও 3 বাইট নেওয়ার একটি সহজ উপায়ও রয়েছে
গম উইজার্ড

7

পাইথন 3 , 51 বাইট

lambda\
a:a
mz= '''
bi'   '
dp'   '
a('
 *
 a
\)'''

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

জোয়েলের পদ্ধতির উপর ভিত্তি করে । ইনপুট একটি হল tupleএর tuples, এবং আউটপুট একটি হল zip(ক রূপান্তরিত tupleভাল দৃশ্যমানতা জন্য Tio বেশি)।

পক্ষান্তরিত:

lambda  \
a:zip(*a)
ma='''  '
b       '
d '     '
a '      
\ '''    

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


5

পার্ল 6 , 20 11 বাইট

#&
*[
#Z
 ]

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

পক্ষান্তরিত

#*# 
&[Z]

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

উভয় ফাংশন তালিকার তালিকায় কাজ করে।

*[ ] কার্যকরভাবে সনাক্তকরণের কার্যকারিতাটি তার যুক্তির জেন টুকরোটি ফিরিয়ে দেয় যা যা কিছু কোড।

&[Z] জিপ অপারেটর।


5

হাস্কেল, 185 161 বাইট

t i
 =
 i
af

 n m
 u a e i
 l p s d
 lu h=u
 (
 h
 e
 a
 d

 a
 )
 t
 h
 e
 n
 [
 ]
 e
 l
 s
 e

 m
 a
 p

 h
 e
 a
 d

 a
 :
 t
 (
 m
 a
 p

 t
 a
 i
 l

 a
 )

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

পক্ষান্তরিত:

t  a
 =if null(head a)then[]else map head a:t(map tail a)
i       u
     map
        h
      es=
        u
      id

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

কোনও মন্তব্য নেই, কোনও স্ট্রিং লিটারাল নেই, কেবলমাত্র কিছু অতিরিক্ত ফাংশন সংজ্ঞা।

সম্পাদনা করুন: -২৪ বাইট @ Ørjan জোহানসেনকে ধন্যবাদ।



4

পিএইচপি (7.4), 114 86 70 বাইট

আমার প্রথমবারের মতো পিএইচপি-তে এইরকম কিছু করার অভিজ্ঞতা, এর চেয়ে আরও ভাল উপায় থাকতে হবে যা আমি দেখতে পাচ্ছি না! ইনপুটটি অ্যারের মতো অ্যারে [[1,2],[3,4],[5,6]]

সাধারন:

fn($a)=>$a/*
nu         /
(l
$l
a,
).
=.
>.
a$
ra
r)
a/
y*
_
m
a
p
(*/

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

স্থানান্তরিত (স্পেস প্যাডেড):

fn($a)=>array_map(
null,...$a)/*    *
(                /
$                 
a                 
)                 
=                 
>                 
$                 
a                 
/                 
*/                

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


3

কাঠকয়লা , 19 বাইট

A¿⁰«
‖⁰¿
↗⁰
¿⁰
⁰¿
«

এটি অনলাইন চেষ্টা করুন! স্ট্রিংগুলির অ্যারে হিসাবে ইনপুট নেয়। ব্যাখ্যা: স্পষ্টত স্পষ্ট ইনপুট মুদ্রণ করে ¿⁰শর্তযুক্ত 0হিসাবে শর্ত হিসাবে, যা সর্বদা মিথ্যা। «তারপরে অর্থহীন কাঠকয়লা কোডের একটি ব্লক শুরু হয় যা কখনই কার্যকর হয় না। (এই বাইটগুলির কয়েকটি অপসারণ করা সম্ভব হতে পারে তবে সেই ক্ষেত্রে চারকোল সঠিকভাবে প্রোগ্রামটি বিশ্লেষণ করবে কিনা তা আমি নিশ্চিত নই)) স্থানান্তরিত, 17 বাইট:

A‖↗¿⁰«
¿⁰⁰⁰¿
⁰¿
«

এটি অনলাইন চেষ্টা করুন! ব্যাখ্যা: ট্রান্সপোজ কমান্ডের সংযোজন ব্যতীত পূর্ববর্তী প্রোগ্রামের মতোই ‖↗

আমার একটি বিকল্প সমাধান আছে যেখানে মূল এবং ট্রান্সপোসড প্রোগ্রাম দুটিই 18 বাইট:

A⊞υ”y
‖υ⁺y
↗⁺
⊞⁺
υ

এটি অনলাইন চেষ্টা করুন! ব্যাখ্যা: উপরে হিসাবে; ⊞υপূর্বনির্ধারিত খালি তালিকায় একটি মান চাপায় (যা আউটপুটকে প্রভাবিত করে না); ”yএকটি স্বেচ্ছাসেবী স্ট্রিং শুরু হয় (প্রোগ্রামের শেষে বা ম্যাচের শেষে )। পক্ষান্তরিত:

A‖↗⊞υ
⊞υ⁺⁺
υ⁺
”y
y

এটি অনলাইন চেষ্টা করুন! ব্যাখ্যা: A‖↗উপরে হিসাবে; ⊞υযেমন উপরে; এখানে ছোটখাটো পার্থক্য হ'ল আমি ছোট স্ট্রিংগুলির সাথে যুক্ত হয়ে চাপ দিচ্ছি, যেহেতু আমি এর পুনরাবৃত্তি করতে চাই না


3

ব্রেন-ফ্লাক (ব্রেন হ্যাক) , 382 375 337 বাইট

কোন মন্তব্য নেই!

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

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

ইনপুটটির জন্য প্রথম দুটি সংখ্যা হ'ল ম্যাট্রিক্সের মাত্রা এবং বাকীটি ম্যাট্রিক্সের বিষয়বস্তু। আউটপুট একই বিন্যাসে দেওয়া হয়।

পক্ষান্তরিত

ব্রেন-ফ্লাক (ব্রেনহ্যাক) , 465 বাইট

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

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




2

Haskell, ,153 144 বাইট

(ধন্যবাদ, শ্রীওচিলিজম ও'জাইক )

f
 [
 ]=
   [
   ];
    f(
     x:
      l)
       =(
        :)
         x l
-- :   z $
-- f   i f
-- [   p
-- ]   W
--     i
--     t
--     h

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

ট্রান্সপোসড করে দেখুন!


আপনার কাঠামোটি বজায় রাখার জন্য এখানে একটি 144 বাইট সংস্করণ রয়েছে। ( স্থানান্তরিত )
গম উইজার্ড

এখানে একটি 70 বাইট সংস্করণ যা এখনও একই তবে কিছু কাঠামোগত পরিবর্তনগুলির সাথে। ( স্থানান্তরিত )
গম উইজার্ড

ধন্যবাদ। দ্বিতীয় সংস্করণে কেন্দ্রীয় ধারণাটির অভাব রয়েছে (যদিও foldrউভয় সংস্করণের জন্য পুনরাবৃত্তি ব্যবহার করা হচ্ছে ), এটি পছন্দ করবেন না।
পাল্টা ঘড়ি বন্ধ করে দেওয়া হয়েছে

আপনি জানেন, এই চ্যালেঞ্জ এবং আপনার ব্যবহারকারী নামটি একে অপরের সাথে বিরোধিতা করে, যেহেতু আপনার কোডটি সেই ট্রান্সপোজড সংস্করণে ঘড়ির কাঁটার দিকে ঘুরিয়ে দিয়েছে। ; পি
কেভিন ক্রুইজসেন

2

এপিএল (ডায়ালগ ইউনিকোড) , 7 বাইট

{⍵

⍵}

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

পক্ষান্তরিত:

{⍉⍵
 }

সম্ভবত একটি বরং বিরক্তিকর উত্তর, তবে যাইহোক এখানে এটি যায়।

ইনলাইন ফাংশন সংজ্ঞাটি {...}একাধিক লাইন বিস্তৃত করতে পারে। এই ক্ষেত্রে, প্রতিটি লাইন ক্রমান্বয়ে কার্যকর করা হয়, তবে কোনও অ্যাসাইনমেন্ট ছাড়া কোনও লাইন তত্ক্ষণাত তার গণিত মান প্রদান করে returns প্রথম ফাংশন দ্বিতীয়টি যখন ফিরে আসে⍉⍵

আরও বিরক্তিকর উত্তর হ'ল মন্তব্যের অপব্যবহার:

এপিএল (ডায়ালগ ইউনিকোড) , 4 বাইট

⍝⍉

কোন টিআইও দরকার নেই, আমার ধারণা ...


1

05 এ বি 1 , 3 বাইট

øø
q

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

øq
ø

এটি স্থানান্তর করার চেষ্টা করুন।

ব্যাখ্যা:

অন্যান্য কয়েকটি ভাষার মতো নয়, নতুন লাইনেস কেবল 05AB1E এ উপেক্ষা করা হয়েছে, তাই আমি মনে করি না যে 2-বাইটার সম্ভব (যদিও আমি ভুল প্রমাণিত হতে চাই)।

ø    # Transpose the (implicit) input
 ø   # Transpose it back
  q  # Stop the program (and output the top of the stack implicitly as result)

ø    # Transpose the (implicit) input
 q   # Stop the program (and output the top of the stack implicitly as result)
  ø  # No-op, since the program has already stopped





0

সিজাম , 13 বাইট

qo
~
z
`

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

স্থানান্তরিত সংস্করণ:

q~z`
o

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

ছক পূরণ করা

ইনপুট ফর্ম্যাটটি হ'ল স্ট্যান্ডার্ড সিজেএম অ্যারে ফর্ম্যাট: [[1 2] [3 4]]

কোনও ক্র্যাশ সংস্করণ নয়, 12 বাইট

সাধারণ সংস্করণ অ্যারে মুদ্রণের পরে ক্র্যাশ হয়ে যায়। একটি সংস্করণ যা ক্রাশ হয় না তা হ'ল:

qo{
~
z
` };

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

বা স্থানান্তরিত:

q~z`
o
{  };

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

সম্ভবত কয়েকটি অতিরিক্ত বাইট রয়েছে যা সংরক্ষণ করা যেতে পারে, আমি দুর্ঘটনাক্রমে ট্রান্সপোজড সংস্করণে প্রথমে কাজ করেছি, যার ফলে কয়েকটি অতিরিক্ত লাইনব্রেক হয়েছিল এবং আমি দীর্ঘসময় ধরে সিজেএম ব্যবহার করেছি। কোন উন্নতি স্বাগত জানাই।


0

Zsh , 75 বাইট

  <<<${(F)@}
fa<
o[<
r+$
 +{
si(
;]F
i+)
==a
&$}
&s
r[
ei
p+
e1
a]
t

$
#
s

টিআইও: সাধারণ স্থানান্তরিত

মূল মুদ্রণের নীচের আবর্জনা ক্ষয়ক্ষতিহীন, এটি যখন একটি নতুন লাইনের পরে দেখা হয় fa<এবং প্রস্থান করে তখন এটি একটি ত্রুটি মুদ্রণ করে । 86 ত্রুটি অপসারণ বাইট।

স্থানান্তরিত সংস্করণটি এখানে। মুদ্রণের পরে এটি <একটি লাইনের শেষে দেখতে ত্রুটি করে এবং প্রস্থান করে।

 for s;i=&&repeat $#s
 a[++i]+=$s[i+1]
<<<${(F)a}
<
<
$
{
(
F
)
@
}

0

রুনিক এনেক্যান্টমেন্টস , 88 বাইট

vrlril1-{)?\:',=4*?~r0[
i! '${U [0r/?*7̸0l{$
$ka6 ̹\!$,'/;? =  ̹
'              ̸

$

এটি অনলাইন চেষ্টা করুন!
ট্রান্সপোসড করে দেখুন!

ইনপুটটি প্রতিটি মানের জন্য আলাদা আলাদা স্থান এবং প্রতিটি সারির জন্য কমা দ্বারা পৃথক করা (নতুন লাইনগুলি areচ্ছিক) এবং উভয় স্ট্রিং এবং (শূন্য নয়) সংখ্যাগুলিকে সমর্থন করে। এটি ইনপুট পার্সিংকে আরও সহজ করে তোলে কারণ ফাঁকা স্থান এবং নতুন লাইনের দ্বারা ইনপুট স্বয়ংক্রিয়ভাবে নষ্ট হয়ে যায়। সুতরাং উদাহরণস্বরূপ, ইনপুট:

1 2 3 , 4 5 6 , 7 8 9

হিসাবে নেস্টেড অ্যারে আকারে উপস্থাপন করা হবে [[1,2,3],[4,5,6],[7,8,9]]। ঝাঁকুনিযুক্ত অ্যারেগুলির জন্য সর্বনিম্ন সমর্থন (কেবলমাত্র শেষটি সংক্ষিপ্ত হতে পারে), তবে ইনপুটগুলি আয়তক্ষেত্রাকার হিসাবে প্রত্যাশিত হিসাবে, এটি প্রয়োজনীয়তাটি পূরণ করে।

আউটপুট একই বিন্যাসে উপস্থাপিত হয় (নতুন লাইনের সাথে ট্রান্সপোজড সংস্করণ আউটপুট, তবে এর শূন্য স্থানটি পরিবর্তে একটি স্থান ব্যবহার করতে আলাদা)। সাধারণ সংস্করণটিতে একটি চলমান স্থান রয়েছে, ট্রান্সপোজ করা সংস্করণটিতে একটি ট্রেলিং কমা এবং নিউলাইন রয়েছে (মুদ্রণের জন্য যখন আর কোনও ডেটা নেই তখন তা নির্ধারণের অসুবিধার কারণে)।

সাধারণ সংস্করণে অদ্ভুত জায়গাগুলিতে সংশোধনকারী অক্ষর থাকে (উদা। 7̸0 ), তবে উত্স স্থানান্তরিত হওয়ার সময় এটি সঠিক জায়গায় প্রয়োজন হওয়ার কারণে এবং সাধারণ সম্পাদন কেবলমাত্র নির্দেশাবলীর বামতম স্তম্ভকে কাজে লাগায়।

ব্যাখ্যা

স্থানান্তরিত উত্সের ব্যাখ্যা একটি অ-স্থানান্তরিত আকারে হবে। তীরগুলি বিভিন্ন ব্লকের প্রবেশদ্বার এবং প্রস্থানে আইপি নির্দেশিকাকে উপস্থাপন করবে।

→rlril1-{)?\:',≠4*?~r0[    Initial position. Read and parse input.
           ↓               Input loop exit and direction

ইনপুটটি পঠিত হয়, এবং কোনও ,অক্ষর সন্ধান পেলে একটি নতুন সাবস্ট্যাকটি পুশ করা হয়। এটি প্রতিটি স্ট্যাক মেমরিতে পৃথকভাবে প্রতিটি সারি ধরে রাখতে দেয়। উপরের অংশ থেকে পরবর্তী বিভাগে প্রবেশ করে।

           ↓
.. '${̹L [0r/?*7≠0l{̹$       When no more input:
      ↑    ↓

[0(বাম দিকে চালিত) প্রথম সারি এবং শেষ সারির মধ্যবর্তী সীমানা হিসাবে কাজ করার জন্য একটি খালি স্ট্যাক সেট আপ করে এবং তারপরে প্রথম স্ট্যাক ( ) এ ঘোরে এবং উপাদানগুলি মুদ্রণ এবং ঘোরানো স্ট্যাক শুরু করে। i!মৃত্যুদন্ড কার্যকর করা হয় না এবং {̹L [0rশুধুমাত্র একবার মৃত্যুদন্ড কার্যকর করা হয়। যখন একটি শূন্য-আকারের স্ট্যাক পাওয়া যায়, লুপটি প্রস্থান করে।

      ↑    ↓
$ka6  \!$,'/;?             Row separation formatting

খালি স্ট্যাকটি পাওয়া গেলে, একটি ,এবং নতুন লাইন প্রিন্ট করা হয়, এবং মান লুপটি আবার প্রবেশ করা হয়। এক্সিকিউশন অর্ডার (পাঠযোগ্যতা জন্য প্রতিফলিত) যেখানে .একটি অ-মৃত্যুদন্ড কার্যকর কমান্ড: \',$!.6ak$?....../। পরিবর্তন akকরা '<space>নতুন লাইনের পরিবর্তে স্পেসগুলি মুদ্রণ করবে।

প্রোগ্রামটি যখন খালি স্ট্যাক থেকে লেখার চেষ্টা করে তখন এক্সিকিউশন বন্ধ হয়; এই কারণেই কেবল সর্বশেষ-সারি জাগনেস সঠিকভাবে কাজ করে এবং কেন ,আউটপুটে একটি পিছন রয়েছে: প্রোগ্রামটি জানার আগেই কমাটি ইতিমধ্যে মুদ্রিত হয়েছে যে আরও কোনও ডেটা নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.