হিস্টোগ্রাম প্রজন্ম


12

সংক্ষিপ্ততম প্রোগ্রামটি লিখুন যা একটি হিস্টগ্রাম তৈরি করে (ডেটা বিতরণের গ্রাফিকাল উপস্থাপনা)।

নিয়মাবলী:

  • প্রোগ্রামটিতে শব্দের অক্ষরের দৈর্ঘ্যের (বিরামচিহ্ন অন্তর্ভুক্ত) ভিত্তিতে একটি হিস্টোগ্রাম তৈরি করতে হবে। (যদি একটি শব্দ 4 টি বর্ণের দীর্ঘ হয় তবে 4 টির প্রতিনিধিত্বকারী বারটি 1 দ্বারা বৃদ্ধি পায়)
  • বারগুলি উপস্থাপিত অক্ষরের দৈর্ঘ্যের সাথে সম্পর্কিত হতে হবে এমন বারের লেবেলগুলি অবশ্যই প্রদর্শন করা উচিত।
  • সমস্ত অক্ষর গ্রহণ করা আবশ্যক।
  • যদি বারগুলি অবশ্যই ছোট করতে হয় তবে হিস্টোগ্রামে দেখানোর মতো কিছু উপায় থাকা দরকার।

উদাহরণ:

$ ./histogram This is a hole in one!
1 |#
2 |##
3 |
4 |###

$./histogram Extensive word length should not be very problematic.
1 |
2 |#
3 |#
4 |##
5 |
6 |##
7 |
8 |
9 |#
10|
11|
12|#

./histogram Very long strings of words should be just as easy to generate a histogram just as short strings of words are easy to generate a histogram for.
1 |##
2 |#######
3 |#
4 |#######
5 |###
6 |#
7 |##
8 |##
9 |##

4
দয়া করে একটি একক উদাহরণ দেওয়ার পরিবর্তে একটি স্পেসিফিকেশন লিখুন যা কেবলমাত্র একক উদাহরণ হিসাবে গুণাবলী অনুসারে গ্রহণযোগ্য আউটপুট শৈলীর পরিসীমা প্রকাশ করতে পারে না এবং যা কোনও কোণার কেসগুলি আবরণ করার গ্যারান্টি দেয় না। কয়েকটি পরীক্ষার কেস হওয়া ভাল, তবে ভাল অনুমান করা আরও গুরুত্বপূর্ণ।
পিটার টেলর

@ পিটারটেলর আরও উদাহরণ দেওয়া হয়েছে।
syb0rg

1
১. এটি ট্যাগ করা গ্রাফিকাল-আউটপুট , যার অর্থ এটি পর্দায় অঙ্কন বা একটি চিত্র ফাইল তৈরি সম্পর্কে, তবে আপনার উদাহরণগুলি হচ্ছে আসি-আর্ট । হয় হয় গ্রহণযোগ্য? (তা না হলে প্ল্যানাবাস খুশি নাও হতে পারে)। ২. আপনি কোনও শব্দে বিরামচিহ্নকে সংখ্যায়িত অক্ষর গঠন হিসাবে সংজ্ঞায়িত করেন তবে কোন অক্ষর পৃথক শব্দের পৃথক শব্দ, কোন অক্ষর ইনপুটটিতে উপস্থিত হতে পারে এবং নাও হতে পারে এবং অক্ষরগুলি কীভাবে পরিচালনা করতে পারে যা বর্ণমালা, বিরামচিহ্ন নয় , বা শব্দ বিভাজক। ৩. বুদ্ধিমান আকারে ফিট করার জন্য বারগুলি পুনরুদ্ধার করা কি গ্রহণযোগ্য, প্রয়োজনীয়, বা নিষিদ্ধ?
পিটার টেলর

@ পিটারটেলর আমি এশিয়া-আর্ট ট্যাগ করিনি, কারণ এটি সত্যই "শিল্প" নয়। ফন্নবসের সমাধান ঠিক আছে।
syb0rg

@ পিটারটেলর আপনার বর্ণনার ভিত্তিতে আমি কিছু বিধিগুলিতে যুক্ত করেছি in এখনও অবধি, এখানে সমস্ত সমাধান এখনও সমস্ত নিয়ম মেনে চলেন।
syb0rg

উত্তর:


3

কে, 35

{(1+!|/g)#`$(#:'=g:#:'" "\:x)#'"#"}

k){(1+!|/g)#`$(#:'=g:#:'" "\:x)#'"#"}"Very long strings of words should be just as easy to generate a histogram just as short strings of words are easy to generate a histogram for."
1| ##
2| #######
3| #
4| #######
5| ###
6| #
7| ##
8| ##
9| ##

একটি দীর্ঘ উদাহরণ

k){(1+!|/g)#`$(#:'=g:#:'" "\:x)#'"#"}"Please write a specification rather than giving a single example which, solely by virtue of being a single example, cannot express the range of acceptable output styles, and which doesnt guarantee to cover all corner cases. Its good to have a few test cases, but its even more important to have a good spec."
1 | #####
2 | ######
3 | #######
4 | ########
5 | ######
6 | ##############
7 | ###
8 | #
9 | ##
10| #
11|
12|
13| #

যদি 9 টিরও বেশি অক্ষরের শব্দ থাকে তবে কী হবে?

এটি যে কোনও দৈর্ঘ্যের শব্দের জন্য কাজ করে
tmartin

5

আর, 55 47 টি অক্ষর

hist(a<-sapply(scan(,""),nchar),br=.5+0:max(a))

ভাগ্যক্রমে আর histহিস্টোগ্রামগুলির জন্য একটি প্লট ফাংশন নিয়ে আসে , এখানে একটি breaksযুক্তি সরবরাহ করা হয় যেখানে সর্বোচ্চ (ইনপুট) +0.5 অবধি ব্রেক হয় 0.5.৫, 1.5। sapply(scan(,""),nchar)একটি ইনপুট নেয় (স্টিডিন হিসাবে), ফাঁকা স্থানগুলি অনুসরণ করে পৃথক করে এবং প্রতিটি উপাদানটির অক্ষরের সংখ্যা গণনা করে।

উদাহরণ:

hist(a<-sapply(scan(,""),nchar),br=.5+0:max(a))
1: Extensive word length should not be very problematic.
9: 
Read 8 items

এখানে চিত্র বর্ণনা লিখুন

hist(a<-sapply(scan(,""),nchar),br=.5+0:max(a))
1: Very long strings of words should be just as easy to generate a histogram just as short strings of words are easy to generate a histogram for.
28: 
Read 27 items

এখানে চিত্র বর্ণনা লিখুন

সম্পাদনা:

প্রতিটি সম্ভাব্য মানের একটি অক্ষ লেবেল সহ characters১ টি অক্ষরের পার্থক্য :

hist(a<-sapply(scan(,""),nchar),br=.5+0:max(a),ax=F);axis(1,at=1:max(a))

এখানে চিত্র বর্ণনা লিখুন


3
আমি সাধারণত যখন ভার্ভোজ ভাষার অগ্রণী হয় তখন আমি ভালবাসি!

এটি অবশ্য নির্দিষ্টকরণের সাথে সম্মতি দেয় না ...
ডোরকনব

@ ডুরকনব কোন নির্দিষ্টকরণের সাথে এটি মেনে চলে না?
প্ল্যানাপাস

উদাহরণ টেস্টকেস।
ডুরকনব

3
এগুলি উদাহরণ, বিশেষ উল্লেখ নয় ...
প্ল্যানাপাস

5

পাইথন - 83 টি অক্ষর

দেখে মনে হচ্ছে যে আমরা যে কোনও জায়গা থেকে ইনপুট নিতে পারি, সুতরাং এটি কমান্ড লাইন থেকে না করে মৃত্যুদন্ড কার্যকর করার সময় ইনপুট নেয় এবং এটি 8 দ্বারা সংক্ষিপ্ত করার জন্য এজরবের পরামর্শ ব্যবহার করে।

s=map(len,raw_input().split())
c=0;exec'c+=1;print"%3d|"%c+"#"*s.count(c);'*max(s)

পাইথন - 91 টি অক্ষর

এটি উদ্ধৃতি সহ পড়ে যাবে।

import sys;s=map(len,sys.argv[1:])
for i in range(1,max(s)+1):print"%3d|"%i+'#'*s.count(i)

ইনপুট:

> python hist.py Please write a specification rather than giving a single example which, solely by virtue of being a single example, cannot express the range of acceptable output styles, and which doesnt guarantee to cover all corner cases. Its good to have a few test cases, but its even more important to have a good spec.

আউটপুট:

  1|#####
  2|######
  3|#####
  4|##########
  5|######
  6|#############
  7|####
  8|#
  9|##
 10|#
 11|
 12|
 13|#

2
সুন্দর, আপনি নিজের দ্বিতীয় লাইনের (কোনও অ্যালগোরিদম পরিবর্তন নয়) ব্যবহার করে execস্ট্রিং c=0;exec'c+=1;print"%3d|"%c+"#"*s.count(c);'*max(s)
কনটেনটেশনের

4

হাস্কেল - 126 টি অক্ষর

p[d]=[' ',d];p n=n
h l=[1..maximum l]>>= \i->p(show i)++'|':(l>>=($"#").drop.abs.(i-))++"\n"
main=interact$h.map length.words

এটি ইনপুট নেয় stdin, কমান্ড লাইন থেকে নয়:

& head -500 /usr/share/dict/words | runhaskell 15791-Histogram.hs 
 1|##
 2|##
 3|######
 4|###############
 5|################################################
 6|###############################################################
 7|###################################################################
 8|###########################################################################
 9|#############################################################
10|##########################################################
11|#########################################################
12|#########################
13|#######
14|###
15|#####
16|###
17|#
18|
19|#
20|#

আমার কাছে ভালই মনে হচ্ছে! +1
syb0rg

3

পাইথন ৩.৩ (93)

a=[len(i) for i in input().split()]
for i in range(1,max(a)+1):
 print(i,'|',"#"*a.count(i))

আউটপুট:
(প্রথম লাইনটি ইনপুট স্ট্রিং)

Very long strings of words should be just as easy to generate a histogram just as short strings of words are easy to generate a histogram for.
1 | ##
2 | #######
3 | #
4 | #######
5 | ###
6 | #
7 | ##
8 | ##
9 | ##

এটি লেগো স্টর্মট্রোপ্রসের পাইথন সলিউশন হিসাবে সংখ্যাকে ন্যায়সঙ্গত করে না (যা আমার থেকেও খাটো), তবে এটি কোনও গল্ফিং প্রতিযোগিতায় আমার প্রথম প্রবেশ, সুতরাং আমি সম্ভবত এটি এখানে রেখে যেতে পারি :)


আপনি কি এই প্রোগ্রামটির দ্বারা উত্পন্ন হিস্টোগ্রামের উদাহরণে সম্পাদনা করতে পারবেন?
syb0rg

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

যতক্ষণ না প্রতিনিধিত্বমূলক বারগুলির জন্য লেবেল থাকে, উত্তরটি গ্রহণযোগ্য।
syb0rg

ঠিক আছে, তাহলে কি! :)
রবার্তো

এটি আর্গুমেন্ট থেকে নয় ইনপুট থেকে ইনপুট নেয়। এটি কি বৈধ @ syb0rg?

3

পার্ল, 56

$d[y///c].='#'for@ARGV;printf"%2d|$d[$_]
",$_ for+1..$#d

যোগ করেছেন @ মানাটওয়ার্কের পুনর্লিখন এবং আক্ষরিক নতুন লাইনের পরামর্শ, আপনাকে অনেক ধন্যবাদ! যোগ করেছেন @ Chinese_perl_goth এর আপডেট।

ব্যবহার: হস্ট.পিএল হিসাবে সংরক্ষণ করুন এবং রান করুন perl hist.pl This is a test

উদাহরণ আউটপুট:

$perl ~/hist.pl This is a test of the histogram function and how it will count the number of words of specific lengths. This sentence contains a long word 'complexity'.
 1|##
 2|#####
 3|####
 4|######
 5|##
 6|#
 7|
 8|#####
 9|#
10|
11|#

1
কেন ব্যবহার printfকরবেন না ? আপনি ফর্ম্যাটিংয়ে কিছু অক্ষর বাঁচাতে পারেন। এবং হ্যাশ থেকে অ্যারের পরিবর্তিত করে আরো কিছু: $d[y///c]++for@ARGV;shift@d;printf"%2d|%s\n",++$i,"#"x$_ for@d
manatwork

আমি কি কর্মসূচীতে এই প্রোগ্রামের একটি উদাহরণ দেখতে পাচ্ছি?
syb0rg

@ মান্যাটওয়ার্ক printfআমার কাছে মোটেও ঘটেনি এবং কোনও কারণে আমি ভাবিনি যে আমি কোন অ্যারে দিয়ে আশ্চর্যজনকভাবে প্রভাব ফেলতে পারি! @ syb0rg এখন যোগ হচ্ছে
ডম হেস্টিংস

2
আরও কিছু গল্ফ করে, 57 বাইটে নামিয়ে নিল:$d[y///c].='#'for@ARGV;printf"%2d|$d[$_]\n",$_ for+1..$#d
চাইনিজ পার্ল গথ

1
আমরা কেবল সহজ কৌশলটি মিস করেছি: \nআরও 1 টি অক্ষর বাঁচানোর পরিবর্তে একটি আক্ষরিক নিউলাইন ব্যবহার করুন । আমি এর অর্থ: পেস্টবিন.
com

3

জে, 48 47 46 45 43 টি অক্ষর

(;#&'#')/"1|:((],[:+/=/)1+[:i.>./)$;._1' ',

ব্যবহার:

   (;#&'#')/"1|:((],[:+/=/)1+[:i.>./)$;._1' ','Very long strings of words should be just as easy to generate a histogram just as short strings of words are easy to generate a histogram for.'
┌─┬───────┐
│1│##     │
├─┼───────┤
│2│#######│  
├─┼───────┤
│3│#      │
├─┼───────┤
│4│#######│
├─┼───────┤
│5│###    │
├─┼───────┤
│6│#      │
├─┼───────┤
│7│##     │
├─┼───────┤
│8│##     │
├─┼───────┤
│9│##     │
└─┴───────┘

স্পষ্ট, 38 [:((](;#&'#')"0[:+/=/)1+[:i.>./)#@>@;:: এটি অনলাইন চেষ্টা করুন!
জোনাহ

2

রুবি, 98 85

a=$*.group_by &:size
1.upto(a.max[0]){|i|b=a.assoc i
puts"%-2i|#{b&&?#*b[1].size}"%i}

বেশি গল্ফ হয়নি। আরও পরে গল্ফ হবে।

c:\a\ruby>hist This is a test for the histogram thingy. yaaaaaaaaaaaay
1 |#
2 |#
3 |##
4 |##
5 |
6 |
7 |#
8 |
9 |#
10|
11|
12|
13|
14|#

সুন্দরভাবে কাজ করে (++ ভোটকাউন্ট)। প্রশ্নটি আরও ভাল করে বলতে আমি কিছু করতে পারি?
syb0rg

1
@ syb0rg IMO প্রশ্নটি উত্তমরূপে বর্ণিত হয়েছে, উদাহরণগুলি নিজেরাই বলে speak যদিও আপনার শেষ একবারে একটি ত্রুটি হয়েছে বলে মনে হচ্ছে ... আমি 2 টি 8-অক্ষরের শব্দ (উত্পন্ন এবং উত্পন্ন) এবং 2 9-অক্ষরের শব্দ (হিস্টগ্রাম, হিস্টগ্রাম)
ডোরকনব

কুল। আপনি b ?(?#*b[1].size):''সঙ্গে পরিবর্তন করতে পারে b&&?#*b[1].size
manatwork

2

পাওয়ারশেল, 97 93

$a=@{};$args-split ' '|%{$a[$_.length]++};1..($a.Keys|sort)[-1]|%{"{0,-2} |"-f $_+"#"*$a[$_]}

উদাহরণ:

PS Z:\> .\hist.ps1 This is an example of this program running
1  |
2  |###
3  |
4  |##
5  |
6  |
7  |###

আমি এই প্রোগ্রাম চলমান একটি উদাহরণ দেখতে পাচ্ছি?
syb0rg

@ syb0rg অবশ্যই, আমি একটি উদাহরণ দিয়ে উত্তর আপডেট করেছি।
ডানকো দুর্বিć

ভাল লাগছে! আপনাকে +1!
syb0rg

খুশী হলাম। আপনি অতিরিক্ত স্পেসগুলি সরিয়ে 6 $a=@{};-split$args|%{$a[$_.length]++};1..($a.Keys|sort)[-1]|%{"{0,-2}|"-f$_+"#"*$a[$_]}
বাট

2

এপিএল (42)

⎕ML←3⋄K,⊃⍴∘'▓'¨+⌿M∘.=K←⍳⌈/M←↑∘⍴¨I⊂⍨' '≠I←⍞

যদি মান 0 হয় তবে আমি যদি লাইনগুলি বাদ দিতে পারি তবে সংক্ষিপ্ত হতে পারে।

ব্যাখ্যা:

  • ⎕ML←3: মাইগ্রেশন স্তর 3 এ সেট করুন (এটি (বিভাজনকে আরও কার্যকর করে))।
  • I⊂⍨' '≠I←⍞: ইনপুট পড়ুন, স্পেসে বিভক্ত করুন
  • M←↑∘⍴¨: প্রতিটি আইটেমের প্রথম মাত্রার আকার (শব্দের দৈর্ঘ্য) পান এবং এতে সঞ্চয় করুন M
  • K←⍳⌈/M: 1 থেকে সর্বোচ্চ মানের মধ্যে নম্বর পান M, স্টোর ইন করুনK
  • +⌿K∘.=M: প্রতিটি মানের জন্য M, এটি কতবার অন্তর্ভুক্ত রয়েছে তা দেখুন K
  • ⊃⍴∘'▓'¨: প্রতিটি মানের জন্য, অনেকগুলি এর একটি তালিকা পান এবং এটি ম্যাট্রিক্স হিসাবে ফর্ম্যাট করুন।
  • K,: Kম্যাট্রিক্সের প্রতিটি সারিতে প্রতিটি মান প্রিপেন্ড করুন, লেবেলগুলি দিন।

আউটপুট:

      ⎕ML←3⋄K,⊃⍴∘'▓'¨+⌿M∘.=K←⍳⌈/M←↑∘⍴¨I⊂⍨' '≠I←⍞
This is a hole in one!
1 ▓  
2 ▓▓ 
3    
4 ▓▓▓
      ⎕ML←3⋄K,⊃⍴∘'▓'¨+⌿M∘.=K←⍳⌈/M←↑∘⍴¨I⊂⍨' '≠I←⍞
Very long strings of words should be just as easy to generate a histogram just as short strings of words are easy to generate a histogram for.
1 ▓▓     
2 ▓▓▓▓▓▓▓
3 ▓      
4 ▓▓▓▓▓▓▓
5 ▓▓▓    
6 ▓      
7 ▓▓     
8 ▓▓     
9 ▓▓     

2

গণিত 97

Histogram["" <> # & /@ StringCases[StringSplit[InputString[]], WordCharacter] /. 
a_String :> StringLength@a]

যখন আমি একক স্ট্রিং হিসাবে স্বাধীনতার ঘোষণাপত্রের পাঠ্য ইনপুট করি (অবশ্যই কাটা এবং পেস্টের মাধ্যমে), উত্পন্ন আউটপুটটি ছিল:

স্বাধীনতার ঘোষণা


2

চতুর্থ, 201

এটি মজাদার ছিল তবে আমার রুবি জমা দেওয়া আরও প্রতিযোগিতামূলক। ;-)

variable w 99 cells allot w 99 cells erase : h begin
1 w next-arg ?dup while swap drop dup w @ > if dup w
! then cells + +! repeat w @ 1+ 1 ?do i . 124 emit i
cells w + @ 0 ?do 35 emit loop cr loop ; h

নমুনা রান:

$ gforth histo.fth Forth words make for tough golfing!
1 |
2 |
3 |#
4 |#
5 |###
6 |
7 |
8 |#

সর্বাধিক শব্দের দৈর্ঘ্য 99।


2

রুবি, 79

(1..(w=$*.group_by &:size).max[0]).map{|i|puts"%2i|#{?#*w.fetch(i,[]).size}"%i}

উদাহরণ রান:

$ ruby hist.rb Histograms, histograms, every where, nor any drop to drink.
 1|
 2|#
 3|##
 4|#
 5|#
 6|##
 7|
 8|
 9|
10|
11|##

হাসির জন্য দয়া করে আমার ফোরাম জমা দিন।


2

রুবি 1.8.7, 74

অন্যান্য রুবি সমাধানগুলির তুলনায় কিছুটা আলাদা গ্রহণ:

i=0;$*.map{|v|v.size}.sort.map{|v|$><<(i+1..v).map{|n|"
%2i:"%i=n}+['#']}

আউটপুট:

ruby hist.rb `head -400 /usr/share/dict/words`

 1:#
 2:###
 3:######
 4:#############################
 5:#####################################################
 6:############################################################
 7:########################################################################
 8:######################################################
 9:############################################################
10:########################
11:###########################
12:######
13:#####

আমি এই জমাটি প্রথমে দেখিনি, দুঃখিত! +1
syb0rg

1

জাভাস্ক্রিপ্ট ( 159 133)

অবশ্যই প্রতিযোগিতামূলক নয়, তবে এখনও পর্যন্ত একমাত্র জাভাস্ক্রিপ্ট সমাধান। ব্যবহারের টিপটির জন্য @ মান্যাটওয়ার্ককে ধন্যবাদ String.replace

prompt(o=[]).replace(/\S+/g,function(p){o[l=p.length]=(o[l]||'')+'#'});for(i=1;i<o.length;)console.log(i+(i>9?"|":" |")+(o[i++]||""))

ইনপুট

কোড গল্ফ প্রোগ্রামিং ধাঁধা উত্সাহীদের এবং কোড গল্ফারদের জন্য একটি প্রশ্নোত্তর সাইট। এটি প্রশ্নোত্তর সাইটগুলির স্ট্যাক এক্সচেঞ্জ নেটওয়ার্কের অংশ হিসাবে আপনার দ্বারা নির্মিত এবং পরিচালিত। আপনার সহায়তায়, আমরা প্রোগ্রামিং ধাঁধা এবং তাদের সমাধানগুলির একটি লাইব্রেরি তৈরি করতে একসাথে কাজ করছি।

আউটপুট

1 |##
2 |#######
3 |#########
4 |########
5 |######
6 |###
7 |####
8 |####
9 |
10|#
11|###

1
প্রকৃতপক্ষে, এটি সত্যিই এমন কোনও ক্ষেত্র নয় যেখানে জাভাস্ক্রিপ্ট অতিক্রম করে। কিন্তু replace()এর পরিবর্তে split()+ + forএবং Arrayপরিবর্তে Object+ + পৃথক দৈর্ঘ্য পরিবর্তনশীল কয়েকটি অক্ষর সঙ্গে কমে যাবে: prompt(o=[]).replace(/\S+/g,function(p){o[l=p.length]=(o[l]||"")+"#"});for(i=1;i<o.length;)console.log(i+(i>9?"|":" |")+(o[i++]||""))। (এবং prompt(o=[]).replace(/\S+/g,p=>o[l=p.length]=(o[l]||"")+"#");for(i=1;i<o.length;)console.log(i+(i>9?"|":" |")+(o[i++]||""))
সংক্ষেপে

@manatwork .lengthসেখানে ভাল ব্যবহার করা।
চুপচাপ

1

খাঁটি বাশ 120

d="$@"
d=${d//[ -z]/#}
for a;do((b[${#a}]++));done
e="${!b[@]}"
for((i=1;i<=${e##* };i++));do
echo $i\|${d:0:b[i]}
done

নমুনা:

./histogram.sh Very long strings of words should be just as easy to generate a histogram just as short strings of words are easy to generate a histogram for.
1|##
2|#######
3|#
4|#######
5|###
6|#
7|##
8|##
9|##

এতে একটি কাঁটাচামচ ব্যবহার করে 8 টি অক্ষর সংরক্ষণ করুন tr: 112

for a;do((b[${#a}]++));done
e="${!b[@]}"
for((i=1;i<=${e##* };i++));do
printf "%d|%${b[i]}s\n" $i
done|tr \  \#

একই ফলাফল দিন:

bash -c 'for a;do((b[${#a}]++));done;e="${!b[@]}";for((i=1;i<=${e##* };i++));
do printf "%d|%${b[i]}s\n" $i;done|tr \  \#' -- $( sed 's/<[^>]*>//g;
s/<[^>]*$//;s/^[^<]*>//' < /usr/share/scribus/loremipsum/english.xml )

রেন্ডার (আমার হোস্টে :)

1|############################################################
2|#################################################################################################################################################################################################################
3|####################################################################################################################################################################################################################################################
4|####################################################################################################################################################################################################
5|####################################################################################################################################################################
6|#######################################################################################
7|##########################################################################################
8|###################################################
9|###############################
10|####################
11|#########
12|############
13|#####
14|####
15|##
16|
17|
18|
19|
20|
21|
22|
23|
24|
25|
26|
27|
28|
29|
30|
31|
32|
33|
34|#

1

পিএইচপি, 162

<?php error_reporting(0);$b=0;while($argv[$b])$c[strlen($argv[++$b])]++;for($t=1;$t<=max(array_keys($c));$t++)echo $t.'|'.($c[$t]?str_repeat('#',$c[$t]):'')."\n";

ব্যবহার:

php histogram.php Very long strings of words should be just as easy to generate a histogram just as short strings of words are easy to generate a histogram for.
1|##
2|#######
3|#
4|#######
5|###
6|#
7|##
8|##
9|##

1

8 ম , 162 বাইট

কোড

a:new ( args s:len nip tuck a:@ ( 0 ) execnull rot swap n:1+ a:! ) 0 argc n:1- loop 
a:len n:1- ( dup . "|" . a:@ ( 0 ) execnull "#" swap s:* . cr ) 1 rot loop bye

ব্যবহার

$ 8th histogram.8th Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura

আউটপুট

1|
2|##
3|####
4|#
5|##
6|###
7|
8|#

অরোগল্ফড কোড ( এসইডি হ'ল স্ট্যাক এফেক্ট ডায়াগ্রাম)

a:new               \ create an empty array 
( 
    args s:len      \ length of each argument
                    \ SED: array argument lengthOfArgument
    nip             \ SED: array lengthOfArgument
    tuck            \ SED: lengthOfArgument array lengthOfArgument
    a:@             \ get item array at "lengthOfArgument" position
    ( 0 ) execnull  \ if null put 0 on TOS
                    \ SED: lengthOfArgument array itemOfArray
    rot             \ SED: array itemOfArray lengthOfArgument    
    swap            \ SED: array lengthOfArgument itemOfArray
    n:1+            \ increment counter for the matching length
    a:!             \ store updated counter into array 
) 0 argc n:1- loop  \ loop through each argument
\ print histogram
a:len n:1- ( dup . "|" . a:@ ( 0 ) execnull "#" swap s:* . cr ) 1 rot loop 
bye                 \ exit program
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.