সিএসভি টেবিল রূপান্তর করুন


15

চ্যালেঞ্জ

একটি সিএসভি ইনপুট দেওয়া হয়েছে, বাক্স অক্ষর ব্যবহার করে একটি উপযুক্ত ইউনিকোড টেবিল আউটপুট করুন।

বিন্যাস করা

সারণি নিম্নলিখিত নিয়ম ব্যবহার করে ফর্ম্যাট করা হবে:

  • কলামের প্রস্থ column কলামটির দীর্ঘতম মানের সমান হবে
  • সমস্ত টেবিল ডেটা ন্যায়সঙ্গত রেখে দেওয়া হবে
  • প্রতিটি টেবিল প্রথম সিএসভি সারিটি শিরোনাম হিসাবে ধরে নেবে
  • সারণীটি এর সীমানার জন্য নিম্নলিখিত বর্ণগুলি ব্যবহার করবে:

┌ ┬ ┐ ├ ┼ ┤ └ ┴ ┘ ─ │

উদাহরণ

Input:
Name,Age,Gender
Shaun,19,Male
Debra,19,Female
Alan,26,Male
George,15,Male

Output:
┌──────┬───┬──────┐
│Name  │Age│Gender│
├──────┼───┼──────┤
│Shaun │19 │Male  │
│Debra │19 │Female│
│Alan  │26 │Male  │
│George│15 │Male  │
└──────┴───┴──────┘

বিধি

  • স্ট্যান্ডার্ড লুফোলস প্রযোজ্য
  • আপনি একটি সম্পূর্ণ প্রোগ্রাম, একটি ফাংশন বা একটি ল্যাম্বদা জমা দিতে পারেন
  • ইনপুট কোনও ফাইল, কোনও প্রোগ্রাম আর্গুমেন্ট বা কোনও গ্রহণযোগ্য বিকল্প হতে পারে
  • আউটপুট কোনও ফাইল, ফেরত বা কোনও গ্রহণযোগ্য বিকল্প হতে পারে
  • CSV ইনপুটটি আমার উদাহরণ হিসাবে ব্যবহৃত একই ফর্ম্যাটটি গ্রহণ করা উচিত।
  • বাইট জিতে সংক্ষিপ্ত উত্তর।

সিএসভি ইনপুট নিম্নলিখিত ফর্ম গ্রহণ করা উচিত:

Header1,Header2,Header3 newline
Column1,Column2,Column3 newline
Column1,Column2,Column3 optional_newline

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

4
ত্রুটি, গুরুতর সমস্যা: আপনি কোনও জয়ের শর্ত নির্দিষ্ট করেন নি। প্রোগ্রামগুলি কিসের জন্য অপ্টিমাইজড হতে বোঝায়? দৈর্ঘ্য ( কোড-গল্ফ )?

1
কমপক্ষে প্রথম তিনটি লিঙ্কগুলি সমস্তই সিএসভিকে আলাদাভাবে সংজ্ঞায়িত করে (এবং কমপক্ষে দু'জন বলে যে এটি করার বিভিন্ন উপায় রয়েছে)। সুতরাং আমি ধরে নিচ্ছি যে কোনও প্রশ্নে ব্যবহারের জন্য "সিএসভি" আরও পুরোপুরি সংজ্ঞায়িত করা দরকার (এবং সমাধানগুলি কমাগুলিতে বিভাজন এবং পালাতে সক্ষম হবেন না কারণ এটি সংক্ষিপ্ত হওয়ার অনুমতি দেয়)।

2
ঠিক আছে, আমি সিএসভি ফর্ম্যাট সম্পর্কে সুনির্দিষ্ট অন্তর্ভুক্ত করতে প্রশ্নটি সম্পাদনা করেছি যাতে আমি প্রত্যেকে ব্যবহার করতে চাই।
শন ওয়াইল্ড

1
CRLF? সিরিয়াসলি? এটি ইউনিক্সে মোটামুটি বড় পেনাল্টি দিতে চলেছে, যেখানে সিআর মানে টেক্সট ফাইলে অন্য কিছু। ওএস-নির্দিষ্ট নিউলাইনটি ব্যবহারের অনুমতি দিয়ে আপনি সম্ভবত এটি "নিউলাইন" দিয়ে প্রতিস্থাপন করতে চান।

উত্তর:


10

(ডায়ালগ) এপিএল , 38 43 বাইট চেষ্টা করুন

শেষ ইনপুট লাইনে অবশ্যই একটি ট্রিলিং নিউলাইন থাকতে হবে।

{{(⊃⍵)⍪⍉⍪↑¨↓⍉↑1↓⍵}s¨',',¨(s1↓¨⊢⊂⍨⊢=⊃)¯1⌽⍵}

এটি অনলাইন চেষ্টা করুন! ডায়ালগ এপিএলের অফলাইন সংস্করণে, ]boxing ON -style=minএকই প্রভাবের জন্য কার্যকর করুন।

ব্যাখ্যা

{... }একটি বেনামী ফাংশন যেখানে যুক্তি উপস্থাপন করে:

¯1 ⌽ ⍵ সামনের দিকে ট্রেলিং করা নিউলাইনটি ঘোরান

(s ←... )সংজ্ঞায়িত ফাংশন গুলি নিম্নরূপ, এবং এটি প্রয়োগ

  1 ↓¨ প্রত্যেকের প্রথম চরিত্রটি বাদ দিন

  ⊢ ⊂⍨ লাইন, বিভক্ত যেখানে

  ⊃ = ⊢ প্রথম অক্ষরটি স্ট্রিংয়ের অক্ষরগুলির সমান হয়

',' ,¨ তারপরে প্রতিটি লাইনে কমা প্রস্তুত করুন

ফাংশন প্রয়োগ গুলি প্রতিটি লাইন

{... }এখন নিম্নলিখিত বেনামী ফাংশন প্রয়োগ করুন:

  1 ↓ ⍵ প্রথম উপাদানটি (সারি শিরোনামগুলি) ফেলে দিন

  ↓ ⍉ ↑ সারিগুলির তালিকাটি কলামের তালিকায় স্থানান্তর করুন

  ↑¨ প্রতিটি উপাদানকে (এন্ট্রিগুলির একটি তালিকা) প্যাডেড এন্ট্রিগুলির ম্যাট্রিক্সে তৈরি করুন

  ⍉ ⍪ এক-কলাম ম্যাট্রিক্স তৈরি করুন, তারপরে এক-সারি ম্যাট্রিক্সে স্থানান্তর করুন

  (⊃⍵) ⍪ আর্গুমেন্টের প্রথম উপাদানটি (শিরোনামের তালিকা) শীর্ষে রাখুন `

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


উপরের মন্তব্যগুলি দেখুনIs input using list or array of strings (and no newlines) valid? Nope.
edc65

@ edc65 ফিক্সড ধন্যবাদ।
অ্যাডম

হ্যাঁ, সেই বক্সযুক্ত প্রদর্শনটি অবশ্যই কাজে আসবে :)
ভেন

2

পাওয়ারশেল 3+, 365 বাইট

$d=$input|ipcsv
$h=$d[0].PSObject.Properties.Name|%{$_|Add-Member -type NoteProperty -na c -v(($d.$_+$_|measure Length -ma).Maximum)-pa}
"┌$(($h|%{'─'*$_.c})-join'┬')┐"
"│$(($h|%{$_.PadRight($_.c)})-join'│')│"
"├$(($h|%{'─'*$_.c})-join'┼')┤"
$d|%{$i=$_;"│$(($h|%{$i.$_.PadRight($_.c)})-join'│')│"}
"└$(($h|%{'─'*$_.c})-join'┴')┘"

আমার মনে হচ্ছে এটিকে অনেক উন্নতি করা যেতে পারে তবে আমি খুব বেশি সময় পেলাম না। সমস্ত লাইনের সমাপ্তি হ'ল \nনয় \r, এনকোডিংটি কোনও ইউটিএফ 8 নেই B


1

র‌্যাকেট 578 বাইট

(let*((ll(map(λ(x)(string-split x","))ll))(lr list-ref)(sl string-length)(d display)(dl displayln)(nc(length(lr ll 0)))
(nl(for/list((i nc))(apply max(for/list((j ll))(sl(lr j i))))))(pl(λ(sy)(d(lr sy 0))(for((n nc))(for((m(lr nl n)))(d(lr sy 1)))
(if(< n(sub1 nc))(d(lr sy 2))(dl(lr sy 3))))))(g(λ(i n)(for((m(-(lr nl n)(sl i))))(d" ")))))(pl'("┌""─""┬""┐"))
(for((i(lr ll 0))(n(in-naturals)))(d"│")(d i)(g i n))(dl"│")(pl'("├""─""┼""┤"))(for((j(range 1(length ll))))
(for((i(lr ll j))(n nc))(d"│")(d i)(g i n))(dl"│"))(pl'("└" "─" "┴" "┘")))

Ungolfed:

(define(f1 ll)
 (let* ((ll (map (λ (x)(string-split x ",")) ll))  ; use this to convert csv format to list of lists; 
         (lr list-ref)                    ; make short names of standard fns
         (sl string-length)
         (d display)
         (dl displayln)
         (nc (length (lr ll 0)))          ; number of cols; 
         (nl(for/list ((i nc))            ; get list of max string-length for each column
              (apply max
                     (for/list ((j ll))
                       (sl (lr j i))
                       ))))
         (pl (λ (sy)                      ; put lines using sent symbol list
               (d (lr sy 0)) 
               (for ((n nc))
                 (for ((m (lr nl n))) (d (lr sy 1)))
                 (if (< n (sub1 nc))
                     (d (lr sy 2))
                     (dl (lr sy 3))
                     ))))
         (g (λ (i n)                     ; pad with spaces if needed
              (for ((m (- (lr nl n) (sl i)))) (d " ")) ))) 
    ; put line above header: 
    (pl '("┌" "─" "┬" "┐"))

    ; put header: 
    (for ((i (lr ll 0)) (n (in-naturals)))
      (d "│")
      (d i)
      (g i n)
      )
    (dl "│")

    ; put line below header;
    (pl '("├" "─" "┼" "┤"))

    ; put rows: 
    (for ((j (range 1 (length ll))))
      (for ((i (lr ll j))
            (n nc))
        (d "│")
        (d i)
        (g i n)
        )
      (dl "│")
      )

    ; put bottom line: 
    (pl '("└" "─" "┴" "┘"))
    ))

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

(f (list  "Name,Age,Gender"
          "Shaun,19,Male"
          "Debra,19,Female"
          "Alan,26,Male"
          "George,15,Male"))

আউটপুট:

┌──────┬───┬──────┐
│Name  │Age│Gender│
├──────┼───┼──────┤
│Shaun │19 │Male  │
│Debra │19 │Female│
│Alan  │26 │Male  │
│George│15 │Male  │
└──────┴───┴──────┘

1

জাভাস্ক্রিপ্ট (ES6 | ফায়ারফক্স), 286 বাইট

f=>(d=f.split`
`.map(a=>a.split`,`),s=d[0].map((a,i)=>d.reduce((b,c)=>(n=c[i].length)>b?n:b,0)),d=d.map(a=>`│${a.map((b,i)=>b.padEnd(s[i])).join`│`}│`),d.splice(1,0,(g=h=>h[0]+s.map(a=>'─'.repeat(a)).join(h[1])+h[2])('├┼┤')),g('┌┬┐')+`
${d.join`
`}
`+g('└┴┘'))

ব্যবহার padEnd, যা ফায়ারফক্স নির্দিষ্ট।


1
এই 288 বাইট না?
অ্যাডম

1
@ অ্যাডাম ... হ্যাঁ ... স্থির
Mwr247

আপনি এই দর্শন ব্যবহার করেন, নয় g('└┴┘')সমতুল্য করার g└┴┘(পরে ব্যাকটিক সঙ্গে gএবং শেষে)?
NoOneIs এখানে

1
padEndমানহীন। আপনার প্রয়োজনীয় নির্বাহের পরিবেশ নির্দিষ্ট করা উচিত।
নিল

1
এছাড়াও, যেখানে আপনি লেখেন সেখানে বেশ কয়েকটি জায়গা রয়েছে `foo`+bar+`baz`- আপনি একটি টেম্পলেট ব্যবহার করে একটি বাইট সংরক্ষণ করতে পারেন `foo${bar}baz`
নিল

1

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

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

l=>(l=l.split`
`.map(r=>r.split`,`.map((w,i)=>(v=w.length)<c[i]?w:(c[i]=v,w)),c=[k=0]),l=l.map(r=>r.map((v,i)=>(v+' '.repeat(c[i]-v.length)))),[h=c.map(x=>'─'.repeat(x)),l.shift(),h,...l,h].map(a=>'│┌├└'[j=a!=h?0:++k]+a.join('│┬┼┴'[j])+'│┐┤┘'[j]).join`
`)

কম গল্ফড

l=>(
  // split input in an array of string arrays
  // meanwhile find the column widths and put them in *c*
  l = l.split`\n`.map(r=>r.split`,`.map((w,i)=>(v=w.length)<c[i]?w:(c[i]=v,w)),c=[]),

  // pad each column to the max column width
  l = l.map(r=>r.map((v,i)=>(v+' '.repeat(c[i]-v.length)))),

  // put in *h* the horizontal lines for top,bottom and head separator
  h = c.map(x => '─'.repeat(x) ),

  // add the *h* line at top, bottom and after head line
  l = [h, l.shift(), h, ...l, h],

  // rebuild a string, joining columns with '|' unless the row is *h*
  // if the row is *h* use different characters to join columns
  k = 0, 
  l.map(a=> '│┌├└'[j=a!=h?0:++k] + a.join('│┬┼┴'[j]) + '│┐┤┘'[j])
  .join`\n`  
)

পরীক্ষা

F=
l=>(l=l.split`
`.map(r=>r.split`,`.map((w,i)=>(v=w.length)<c[i]?w:(c[i]=v,w)),c=[k=0]),l=l.map(r=>r.map((v,i)=>(v+' '.repeat(c[i]-v.length)))),[h=c.map(x=>'─'.repeat(x)),l.shift(),h,...l,h].map(a=>'│┌├└'[j=a!=h?0:++k]+a.join('│┬┼┴'[j])+'│┐┤┘'[j]).join`
`) 
  
function update() {
  O.textContent = F(I.value)
}
update()
#I { width:60%; height: 8em} 
<textarea id=I>Name,Age,Gender
Shaun,19,Male
Debra,19,Female
Alan,26,Male
George,15,Male</textarea><br>
<button onclick='update()'>Go</button>
<pre id=O></pre>


0

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

%বিন্যাসটি ব্যবহারের জন্য -3 বাইট এবং সংক্ষিপ্তসার জন্য -1str.join

L=[c.split(',')for c in input().split('\n')]
m=[max(len(x)for x in c)for c in zip(*L)]
L=[[""]+[d.ljust(n)for d,n in zip(c,m)]+[""]for c in L]
g=["─"*i for i in m]
J=str.join
print('\n'.join(["┌%s┐"%J("┬",g),J("│",L[0]),"├%s┤"%J("┼",g)]+[J("│",L[i])for i in range(1,len(L))]+["└%s┘"%J("┴",g)]))

উদ্ধৃতিতে আবদ্ধ ইনপুট প্রয়োজন।


1
আমার কাছে 318 বাইট লাগছে।
অ্যাডম

1
@ অ্যাডাম আপনি ঠিক বলেছেন, আমি চরগুলির দিকে চেয়েছিলাম।
কার্ল ন্যাপফ

কাজ করে না, কারণ input()প্রতিটি কলটিতে কেবল একটি লাইন লাগে। input()আর কোনও লাইন না পাওয়া পর্যন্ত সরাসরি কল করতে হবে না বা সরাসরি পাঠাবেন না stdin
মুভিটিকা

তা ছাড়া: 292 বাইট
মুভিটিকা

0

সি #, 696 বাইট

Golfed:

string T(string[]f){int w=f.Max(r=>r.Length),a=f.Select(r=>r.Split(',')[0].Length).Max(),b=f.Select(r=>r.Split(',')[1].Length).Max(),c=f.Select(r=>r.Split(',')[2].Length).Max();string o="",n="\r\n",d="",j=string.Concat(Enumerable.Repeat("─",a)),k=string.Concat(Enumerable.Repeat("─",b)),l=string.Concat(Enumerable.Repeat("─",c));Func<string,int,string>z=(q,p)=>{return q.PadRight(p);};d="┌"+j+"┬"+k+"┬"+l+"┐";o+=d+n;var g=f.First().Split(',');o+="|"+z(g[0],a)+"|"+z(g[1],b)+"|"+z(g[2],c)+"|";d="├"+j+"┼"+k+"┼"+l+"┤";o+=n+d+n;for(int i=1;i<f.Length;i++){var h=f[i].Split(',');o+="|"+z(h[0],a)+"|"+z(h[1],b)+"|"+z(h[2],c)+"|"+n;}d="└"+j+"┴"+k+"┴"+l+"┘";o+=d;return o;}

অবহেলিত (এবং আরও ভাল, কারণ anyone এটি কারওর কোনও কাজে আসে না):

public string T(string[] c)
{
  int width = c.Max(r => r.Length),
    longestFirstColumn = c.Select(r => r.Split(',')[0].Length).Max(),
    longestSecondColumn = c.Select(r => r.Split(',')[1].Length).Max(),
    longestThirdColumn = c.Select(r => r.Split(',')[2].Length).Max();

  string o = "", lr = "\r\n", border = "",
    firstColumnFiller = string.Concat(Enumerable.Repeat("─", longestFirstColumn)),
    secondColumnFiller = string.Concat(Enumerable.Repeat("─", longestSecondColumn)),
    thirdColumnFiller = string.Concat(Enumerable.Repeat("─", longestThirdColumn));

  Func<string, int, string> padRight = (a, b) => { return a.PadRight(b); };

  border = "┌" + firstColumnFiller
    + "┬" +
    secondColumnFiller + "┬"
    + thirdColumnFiller
    + "┐";

  o += border + lr;

  var firstRow = c.First().Split(',');

  o += "|" + padRight(firstRow[0], longestFirstColumn) +
    "|" + padRight(firstRow[1], longestSecondColumn) +
    "|" + padRight(firstRow[2], longestThirdColumn) + "|";

  border = "├" +
    firstColumnFiller + "┼" +
    secondColumnFiller + "┼" +
    thirdColumnFiller
    + "┤";

  o += lr + border + lr;

  for (int i = 1; i < c.Length; i++)
  {
    var row = c[i].Split(',');

    o += "|" + padRight(row[0], longestFirstColumn) + "|"
    + padRight(row[1], longestSecondColumn) + "|" +
    padRight(row[2], longestThirdColumn) + "|" + lr;
  }

  border = "└" +
    firstColumnFiller + "┴" +
    secondColumnFiller + "┴" +
    thirdColumnFiller
    + "┘";

  o += border;

  return o;
}

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

┌──────┬───┬──────┐         ┌──────────┬───────────────────────────┬─────┐
|Name  |Age|Gender|         |Name      |PPCG Challenge             |Votes|
├──────┼───┼──────┤         ├──────────┼───────────────────────────┼─────┤
|Shaun |19 |Male  |         |Pete Arden| Print all integers        | 4   |
|Debra |19 |Female|         |Pete Arden| Yes of course I'm an adult| 3   |
|Alan  |26 |Male  |         |Pete Arden| 5 Favorite Letters        | 1   |
|George|15 |Male  |         └──────────┴───────────────────────────┴─────┘
└──────┴───┴──────┘

একরকম, আমি এটি গণনা করার সময় 697 বাইট পেতে থাকি।
অ্যাডম

@ অ্যাডাম মাত্র আবার পরীক্ষা করেছেন, গল্ফযুক্ত স্ট্রিং ভিজ্যুয়াল স্টুডিওতে 66 666 কলাম দীর্ঘ। তবে 6 666 বা 7৯7 উভয়ই যে কোনওভাবেই প্রতিযোগিতামূলক স্কোর নয় :)
পিট আর্ডেন

আপনার পিছনে পিছনে থাকা নতুন লাইন রয়েছে তবে এটি সরিয়ে দেওয়ার পরেও এটি 696 বাইট
অ্যাডাম

@ অ্যাডাম আহ ... আমি আমার সাথে যোগাযোগের জন্য একটি চিঠি গণনা / বাইট গণনা বৈষম্যের জন্য অপেক্ষা করছিলাম। এই ("┼") এ এই মজার চিহ্নগুলির সাথে জানা উচিত ছিল। আপডেট হয়েছে, ধন্যবাদ :)
পিট আর্ডেন

উপরের মন্তব্যগুলি দেখুনIs input using list or array of strings (and no newlines) valid? Nope.
edc65

0

পার্ল, 273 + 9 ( -CS -nlaF,পতাকা) = 282 বাইট

$v[$.-1]=[@F];map$l[$_]<($l=length$F[$_])&&($l[$_]=$l),0..$#F}sub p{printf$p,@_}sub o{p
pop,map{$\x$l[$_],$_-$#l?$_[0]:pop}0..$#l}$p=join'%s','',(map"\%-${_}s",@l),$/;($\,$c,@c)=map
chr$_*4+9472,0,.5,3..15;o@c[8,1,0];p($c,map{$_,$c}@$_),$i++||o@c[12,6,4]for@v;o@c[10,3,2];{

ব্যবহার:

cat file.csv | perl -CS -nlaF, script.pl

আইডিয়নে চেষ্টা করে দেখুন ।


0

পিএইচপি, 313 বাইট

for(;$r=fgetcsv(STDIN);$a[]=$r)foreach($r as$x=>$s)$e[$x]=max($e[$x],strlen($s));$t=["┬","┌","┐"];eval($L='foreach($e as$i=>$n)echo$t[!$i],str_repeat("─",$n);echo"$t[2]\n";');foreach($a as$k=>$r){foreach($r as$i=>$s)echo"│",str_pad($s,$e[$i]);echo"│\n";$t=["┼","├","┤"];if(!$k)eval($L);}$t=["┴","└","┘"];eval($L);

ভাঙ্গন

for(;$r=fgetcsv(STDIN);$a[]=$r)                         // read csv from STDIN, append to array $a
    foreach($r as$x=>$s)$e[$x]=max($e[$x],strlen($s));  // remember max length in array $e
                                                        // print top border
$t=["┬","┌","┐"];eval($L='foreach($e as$i=>$n)echo$t[!$i],str_repeat("─",$n);echo"$t[2]\n";');
foreach($a as$k=>$r)
{
    foreach($r as$i=>$s)echo"│",str_pad($s,$e[$i]);echo"│\n";   // print row
    $t=["┼","├","┤"];if(!$k)eval($L);                           // print border below header
}
$t=["┴","└","┘"];eval($L);                              // print bottom border

এটি আদর্শে পরীক্ষা করুন


0

এপিএল (ডায়ালগ প্রসারিত) , 36 25 বাইট এসবিসিএস

পুরো প্রোগ্রাম। ধরে নিই ABCDEFGHIJKLMNOPQRSTUVWXYZএটি সিএসভি ফাইল। ছদ্মবেশে প্রিন্ট।

disp(1m)⍪↑¨↓⍉1m←⎕CSVA

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

⎕A বড় হাতের একটি এলফ্যাবেট (সংক্ষিপ্ত-রেফারেন্স অন্তর্নির্মিত স্ট্রিং)
⎕CSV সেই ফাইলটি পড়ে সিএসভি থেকে ম্যাট্রিক্সে রূপান্তর করে
m←  স্টোরm ( এম অ্যাট্রিক্সের জন্য)  কলামের তালিকায়
1↓ প্রথম সারির
 ট্রান্সপোজ
বিভক্ত ড্রপ
↑¨ প্রতিটি স্ট্রিংয়ের তালিকাটিকে একটি ম্যাট্রিক্সে মিশ্রিত করুন
(… এর )⍪ উপরে নীচের অংশটি স্ট্যাক করুন:  প্রয়োগের
1↑m প্রথম সারিটি ধরুন (লাইন অঙ্কনের অক্ষরগুলি আঁকুন)m
⌂dispdfns.disp

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