हिस्टोग्राम पीढ़ी


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
कृपया एक एकल उदाहरण देने के बजाय एक विनिर्देश लिखें, जो केवल एक ही उदाहरण होने के कारण, स्वीकार्य आउटपुट शैलियों की श्रेणी को व्यक्त नहीं कर सकता है, और जो सभी कोने के मामलों को कवर करने की गारंटी नहीं देता है। कुछ परीक्षण मामलों के लिए अच्छा है, लेकिन एक अच्छा अनुमान होना और भी महत्वपूर्ण है।
पीटर टेलर

@PeterTaylor और अधिक उदाहरण दिए गए हैं।
syb0rg

1
1. यह ग्राफिकल-आउटपुट टैग किया गया है , जिसका अर्थ है कि यह स्क्रीन पर आरेखण करने या एक छवि फ़ाइल बनाने के बारे में है, लेकिन आपके उदाहरण एससीआई-कला हैं । या तो स्वीकार्य है? (यदि नहीं तो प्लेनबस खुश नहीं हो सकता है)। 2. आप विराम चिह्नों को एक शब्द में गिनने योग्य वर्ण बनाने के रूप में परिभाषित करते हैं, लेकिन आप यह नहीं बताते हैं कि कौन से वर्ण अलग-अलग शब्द हैं, कौन से वर्ण इनपुट में हो सकते हैं और नहीं भी हो सकते हैं, और जो वर्ण हो सकते हैं उन्हें कैसे संभाला जा सकता है लेकिन जो वर्णनात्मक, विराम चिह्न नहीं हैं , या शब्द विभाजक। 3. क्या समझदार आकार में फिट होने के लिए सलाखों को फिर से बेचना स्वीकार्य, आवश्यक या निषिद्ध है?
पीटर टेलर

@PeterTaylor मैंने इसे एससीआई-आर्ट को टैग नहीं किया, क्योंकि यह वास्तव में "कला" नहीं है। फन्नेबस का समाधान अभी ठीक है।
syb0rg

@PeterTaylor मैंने आपके द्वारा वर्णित कुछ नियमों के आधार पर जोड़ा है। अब तक, यहां सभी समाधान अभी भी सभी नियमों का पालन करते हैं।
syb0rg

जवाबों:


3

के, ३५

{(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, 1.5, ... अधिकतम (इनपुट) +0.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

यहाँ छवि विवरण दर्ज करें

संपादित करें:

प्रत्येक संभावित मान पर अक्ष लेबल के साथ 71 वर्णों में भिन्नता :

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करके और स्ट्रिंग संयोजन के लिए 4 वर्णों से दाढ़ी बना सकते हैं :c=0;exec'c+=1;print"%3d|"%c+"#"*s.count(c);'*max(s)
ejrb

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

पायथन 3.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

जोड़ा गया @ मैनटवर्क का फिर से लिखना और शाब्दिक न्यूलाइन सुझाव, बहुत बहुत धन्यवाद! जोड़ा गया @ चीनी_स्प्ल_गॉथ के अपडेट।

उपयोग: hist.pl के रूप में सहेजें और चलाएँ 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:।
मनटवर्क

क्या मैं काम पर इस कार्यक्रम का एक उदाहरण देख सकता हूं?
syb0rg

@manatwork printfमेरे साथ बिल्कुल नहीं हुआ और किसी कारण से मुझे नहीं लगा कि मुझे वह प्रभाव मिल सकता है जो मैं एक सरणी, अद्भुत के साथ चाहता था! @ syb0rg अब जोड़ रहा है
डोम हेस्टिंग्स

2
कुछ और गोल्फ, यह 57 बाइट्स के लिए नीचे चला गया:$d[y///c].='#'for@ARGV;printf"%2d|$d[$_]\n",$_ for+1..$#d
चीनी perl जाहिल

1
हम सिर्फ सबसे सरल चाल से चूक गए: \n1 अधिक चरित्र को छोड़ने के बजाय एक शाब्दिक नई रेखा का उपयोग करें । मेरा इस तरह मतलब है: pastebin.com/496z2a0n
manatwork

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│##     │
└─┴───────┘

Tacit, 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 प्रश्न ठीक शब्द है, उदाहरण खुद के लिए बोलते हैं। हालांकि अपने पिछले एक बार एक त्रुटि है लगता है ... मैं 2 से 8 अक्षर शब्द (पैदा करते हैं और उत्पन्न) और 2 9 अक्षर का शब्द (हिस्टोग्राम, हिस्टोग्राम) गिनती
दरवाज़े

ठंडा। आप के b ?(?#*b[1].size):''साथ बदल सकता है b&&?#*b[1].size
मैनेटवर्क

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[$_]}
mazzy

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
  • ⊃⍴∘'▓'¨: उस में प्रत्येक मान के लिए, कई s की एक सूची प्राप्त करें , और इसे एक मैट्रिक्स के रूप में प्रारूपित करें।
  • 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

रूबी,, ९

(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)

निश्चित रूप से प्रतिस्पर्धी नहीं है, लेकिन अभी तक केवल जावास्क्रिप्ट समाधान है। उपयोग करने के लिए टिप के लिए @manatwork धन्यवाद 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++]||""))

इनपुट

कोड गोल्फ प्रोग्रामिंग पहेली उत्साही और कोड गोल्फरों के लिए एक प्रश्न और उत्तर साइट है। यह Q & A साइट्स के स्टैक एक्सचेंज नेटवर्क के हिस्से के रूप में आपके द्वारा बनाया और चलाया गया है। आपकी मदद से, हम प्रोग्रामिंग पज़ल्स और उनके समाधानों की लाइब्रेरी बनाने के लिए मिलकर काम कर रहे हैं।

उत्पादन

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

PHP, 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|#

अनगोल्ड कोड ( SED स्टैक इफ़ेक्ट डायग्राम है)

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.