এলোমেলো ইনপুট ব্যবহার করে একটি বদলানো ডেক আউটপুট


9

ইনপুট আউটপুট:

ইনপুট : স্টিডিন থেকে নেওয়া '0' এবং '1 এর স্ট্রিং একটি অভিন্ন র্যান্ডম, অসীম দীর্ঘ। স্ট্রিংটি সত্যই এলোমেলো, সিউডো-এলোমেলো হিসাবে ধরে নেওয়া হয় না। এটি অভিন্ন যে প্রতিটি চরিত্রের '0' বা '1' হওয়ার সমান সম্ভাবনা।

সাবধান হন! ইনপুটটি অসীম দীর্ঘ, তাই আপনি পাইথনে কাঁচা_পিন্ড () এর মতো কোনও ফাংশন ব্যবহার করে মেমরিটিতে এগুলি সমস্ত সঞ্চয় করতে পারবেন না। যদি আমার ভুল না হয় তবে গল্ফস্ক্রিপ্ট অসীম ইনপুট দিয়ে ব্যর্থ হবে, কারণ এটি চালনার আগে পুরো ইনপুটটিকে স্ট্যাকের মধ্যে ঠেলে দেয়।

আউটপুট : জোকার ছাড়াই একটি অভিন্ন র্যান্ডম শ্যাফলেড স্ট্যান্ডার্ড ডেক। এটি অভিন্ন যে সমস্ত ক্রম সমান সম্ভাবনা রয়েছে।

আউটপুটে প্রতিটি কার্ডই এটির র‌্যাঙ্ক, এ, ২-৯, টি, জে, কিউ বা কে এর স্যুট, সি, ডি, এইচ বা এস দিয়ে সজ্জিত। উদাহরণস্বরূপ, স্পেডের 10 টিTs

ডেকের কার্ডগুলি ফাঁক দিয়ে আলাদা করা উচিত।

আপনি অন্তর্নির্মিত এলোমেলো গ্রন্থাগার বা ফাংশন ব্যবহার করতে পারবেন না কারণ এগুলি সত্যিকারের র্যান্ডম নয়, কেবল ছদ্ম-এলোমেলো।

উদাহরণ ইনপুট

আপনার প্রোগ্রামে ইনপুটটি পাইপ করতে আপনি নিম্নলিখিত পাইথন স্ক্রিপ্টটি ব্যবহার করতে পারেন:

import sys, random
try:
    while True:
        sys.stdout.write(str(random.randint(0,1)))
except IOError:
    pass

আপনি যদি স্ক্রিপ্টটিকে র্যান্ড.পি হিসাবে সংরক্ষণ করেন তবে আপনার প্রোগ্রামটি দিয়ে পরীক্ষা করুন python rand.py | your_program

পাইথন 3 এ এটি প্রত্যাশার মতো চলে, তবে পাইথন ২.7 এ আমি আমার প্রোগ্রামের আউটপুট পরে ত্রুটি বার্তা পাই, তবে সমস্ত কিছু সম্পন্ন হওয়ার পরে, কেবল ত্রুটি বার্তাটি উপেক্ষা করুন।

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

সাজানো ক্রমে পরিবর্তিত হওয়ার ঘটনা ঘটলে ডেকটি কীভাবে প্রিন্ট করা উচিত তা এখানে:

Ac 2c 3c 4c 5c 6c 7c 8c 9c Tc Jc Qc Kc Ad 2d 3d 4d 5d 6d 7d 8d 9d Td Jd Qd Kd Ah 2h 3h 4h 5h 6h 7h 8h 9h Th Jh Qh Kh As 2s 3s 4s 5s 6s 7s 8s 9s Ts Js Qs Ks

স্কোরিং:

এটি একটি কোড গল্ফ। সংক্ষিপ্ততম কোড জিতেছে।

উদাহরণ প্রোগ্রাম:

এখানে অজগর ২. not সমাধান রয়েছে, গল্ফ হয় না।

import sys
def next():
    return int(sys.stdin.read(1))==1
def roll(n):
    if n==1:
        return 0
    if n%2==0:
        r=roll(n/2)
        if next():
            r+=n/2
        return r
    else:
        r=n
        while(r==n):
            r=roll(n+1)
        return r
deck = [rank+suit for suit in 'cdhs' for rank in 'A23456789TJQK']
while len(deck)>0:
    print deck.pop(roll(len(deck))),

3
"যদি আমার ভুল না হয় তবে গল্ফস্ক্রিপ্ট অসীম ইনপুট দিয়ে ব্যর্থ হবে, যেহেতু এটি চালনার আগে পুরো ইনপুটটিকে স্ট্যাকের মধ্যে ঠেলে দেয়।" ভাল, এটি চলমান থেকে দূরে নেওয়ার এক উপায়।
ডিএমকেই --- প্রাক্তন মডারেটর বিড়ালছানা

আমি কিছুটা বিভ্রান্ত, আমাকে ক্ষমা করুন। আসল ডেক বদলানোর সাথে ইনপুটটির কী সম্পর্ক রয়েছে? সম্ভবত আমার একটু ব্যাখ্যা দরকার।
jdstankosky

1
আপনি আপনার কোডে সিউডো-এলোমেলো ফাংশন ব্যবহার করতে পারবেন না, তাই এলোমেলোতা তৈরি করতে আপনাকে ইনপুটটি (যা আমরা সত্যই এলোমেলো মনে করছি ) ব্যবহার করতে হবে। উদাহরণস্বরূপ, পাইথনে আপনি একটি র্যান্ডম বুলিয়ান পেতে (sys.stdin.read (1) == '1') ব্যবহার করতে পারেন তবে আপনি (random.randint (0,1) == 1) ব্যবহার করতে পারবেন না, কারণ এটি কেবল ছদ্ম-এলোমেলো।
পিচবোর্ড_বক্স

উত্তর:


7

রুবি, 89 87 টি অক্ষর

l=*0..51;l.map{l-=[i=l[gets(6).to_i 2]||redo];$><<'A23456789TJQK'[i/4]+'cdhs'[i%4]+' '}

সম্পাদনা: পূর্ববর্তী সংস্করণ

l=*0..51;(l-=[i=l[gets(6).to_i 2]];i&&$><<'A23456789TJQK'[i/4]+'cdhs'[i%4]+' ')while l[0]

3

পাইথন 122

import sys
D=[R+S for S in'cdhs'for R in'A23456789TJQK']
while(D):
    x=int(sys.stdin.read(6),2)
    if x<len(D):print D.pop(x)

ব্যাখ্যা:

অব্যবহৃত কার্ড ডি তে সংরক্ষণ করা হয় এটি সহজেই ইনপুট স্ট্রিম থেকে পরবর্তী বৈধ র্যান্ডম সূচক পায় এবং ডি থেকে উপাদানটিকে পপ করে simply

আমি যদি কিছু মিস করি না তবে পক্ষপাত হওয়া উচিত নয়। স্ক্রিপ্টটি কোনও অবৈধ সূচকগুলি ছুঁড়ে ফেলবে> len(D)তবে এর ফলে কম সংখ্যার পক্ষপাতিত্ব হবে না কারণ প্রতিটি ক্রমাগত পপ প্রতিটি উপাদানটির সূচি i এর চেয়ে কমিয়ে দেবে।


সুতরাং আপনি বেশিরভাগ (অসীম) এলোমেলো ইনপুট বাতিল করবেন? অর্থাত্ আপনার কোনও "অব্যবহৃত" কার্ড না থাকলে আপনি কি এলোমেলো বন্ধ করবেন?
লেইগ করুন

3

পার্ল, ৮০ টি চর

এখানে আর একটি বাস্তবায়ন যা পক্ষপাতদুষ্টে ভুগছে না এবং এটি দুটি চরিত্রের চেয়ে ছোট:

$/=1x9;$_=A23456789TJQK;s/./$&s$&c$&d$&h/g;%h=map{<>.$_,"$_ "}/../g;say values%h

পুরানো বাস্তবায়ন (৮২ টি চর):

$/=1x9;$_=A23456789TJQK;s/./$&s$&c$&d$&h/g;say map/..$/&&$&.$",sort map<>.$_,/../g

পুরানো বাস্তবায়ন বর্ণনা:

# set input record separator (how internal readline() delimits lines) to "11111111"
$/ = 1x9; 

# constructs a string representation of all 52 cards: "AsAc(...)KdKh"
$_ = A23456789TJQK; s/./$&s$&c$&d$&h/g;

# for each pair of characters (each card) in the string $_
foreach $card (/../g)
{
    # read from STDIN until $/ is found (this may NEVER occur!), which
    # results in a random string of 1s and 0s
    $weight = <>; 

    # append the card identifier onto the random string
    $card = $weight . $card;

    # add this new card identifier to a new list
    push @cards, $card;
}

# sort the cards with their random string prefix
sort @cards;

# for each card in the "randomly sorted" list
foreach $card (@cards)
{
    # capture the final two characters from the card (the rank and suit), 
    # and append a space onto them
    $card =~ /..$/;  
    $card = $card . $";

    print $card;
}

কেবল কৌতূহলী: কেউ কি এই প্রদর্শনটি একই সম্ভাবনা সহ প্রতিটি ডেক কার্ডের উত্পাদন করতে পারে?
হাওয়ার্ড

2
আমি যদি এই অধিকারটি পড়ছি (আইএএনএএএফএফ), তবে এটি প্রতিটি কার্ডকে এলোমেলোভাবে 'ওজন' দেয় এবং তারপরে ওজন অনুসারে বাছাই করে। যখন দুটি কার্ডকে একই ওজন অর্পণ করা হয়, তখন সেগুলি ক্রমে রেখে দেওয়া হবে sort, ফলস্বরূপ বর্ণানুক্রমিক ক্রমের দিকে পক্ষপাত করা হবে।
বুথবি

আপনি ঠিক বলেছেন, একাধিক কার্ডের একই "ওজন" থাকায় বাছাইয়ের মাধ্যমে এই সমাধানটি পক্ষপাতিত্বের সাথে ছেড়ে যায়। এটির গ্যারান্টিও দেওয়া যায় না যে এই সমাধানটি যে কোনও ফলাফল দেবে। আমি এটি কীভাবে কাজ করে তার একটি বিবরণ যুক্ত করব যাতে আমার চেয়ে বেশি
বুদ্ধিমান

এটি সম্পূর্ণরূপে ঠিক আছে যদি কিছু ইনপুট প্রোগ্রামটিকে কখনই শেষ করতে না পারে, যতক্ষণ সময় অসীমের কাছাকাছি আসার সাথে সাথে প্রোগ্রামটি সমাপ্ত হওয়ার সম্ভাবনা ততক্ষণ 1 হয়। উদাহরণস্বরূপ প্রোগ্রাম '1 এর ইনপুটটিতে কখনই শেষ হয় না। আমি নিশ্চিত যে আপনার প্রোগ্রামটি নির্দিষ্ট সংখ্যক বিট পড়ার পরে সমাপ্ত হয় জেনে ইউনিফর্ম এলোমেলোভাবে পাওয়া অসম্ভব I'm
পিচবোর্ড_বক্স

1
সীমাবদ্ধ বিট সহ আপনি কীভাবে 1 থেকে 3 এর মধ্যে অভিন্ন র্যান্ডম নম্বর বাছতে পারেন? ফিশার-ইয়েটস বদলের শেষের দিকে আপনার এটি করতে হবে এবং ফ্যাকটোরিয়াল (52) 3 দ্বারা বিভাজ্য তাই এটি একই সমস্যাটি ভাগ করে।
পিচবোর্ড_বক্স

3

সি, 197 178 161 অক্ষর

সম্পাদনা : একটি নতুন এলোমেলো ফাংশন ব্যবহার করে যা অনেক কম - 4-সংখ্যার পূর্ণসংখ্যা পড়ে sএবং ব্যবহারগুলি s%64। প্রতিটি 0-সংখ্যার দশমিক সংখ্যা কেবল 0 এবং 1 দ্বারা তৈরি, %64একটি অনন্য ফলাফল নিয়েছে, তাই এলোমেলোভাবে ভাল।
এই পদ্ধতিটি অনেক বেশি এলোমেলো বিট গ্রহণ করে তবে উল্লেখযোগ্যভাবে খাটো হয়।

B[52],t,s,i=104;
r(){scanf("%6d",&s);s%=64;s>i&&r();}
main(){
    for(;i--;)B[i%52]=i<52
        ?r(),t=B[s],B[s]=B[i],printf("%c%c\n","23456789ATJQK"[t/4],"cdhs"[t%4]),t
        :i-52;
}

প্রাথমিক যুক্তিটি সহজ - 0..51 দিয়ে 52 ইন্টের একটি অ্যারে শুরু করুন, শিফেল করুন (এলোমেলোভাবে এক্স এক্সটি রেঞ্জ থেকে অন্য রেডের সাথে প্রতিস্থাপন করুন), মুদ্রিত ফর্ম্যাট (n / 4 = র‌্যাঙ্ক, এন% 4 = স্যুট) ।
একটি লুপ, যা 104 বার রান করে, সূচনা করে (প্রথম 52 রান), বদলে যায় এবং মুদ্রণ করে (শেষ 52 রান)। কমপক্ষে কাঙ্ক্ষিত সর্বাধিক হওয়া অবধি র্যান্ডম বিটগুলি
টেনে একটি এলোমেলো সংখ্যা তৈরি করা হয় । ফলাফল সর্বাধিকের চেয়ে বেশি হলে - আবার চেষ্টা করুন। n1<<n


এই জটিলটি s>7?"ATJQK"[s-8]:s+50সাধারণের চেয়ে দীর্ঘ "A23456789TJQK"[s]। দ্বিতীয়ত আপনি ব্যবহার করতে পারেন t/4এবং t%4পরিবর্তে t%13এবং t/13
হাওয়ার্ড

এখনও করা প্রয়োজন হবে না tযখন outputting অ্যারে ফিরে
l4m2

3

ইউনিক্স শেল ~ 350

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

এই উত্তরটি অসীম বাইনারি স্ট্রিংটিকে 6 বিট দৈর্ঘ্যের মধ্যে ছড়িয়ে দেয় এবং কেবলমাত্র সঠিক পরিসরে (1-52) এমনগুলি বেছে নেয়, এখানে অসীম বাইনারি স্ট্রিংটি ইউরেনডম এবং এক্সএক্সডি দ্বারা সিমুলেটেড হয়:

</dev/urandom xxd -b | cut -d' ' -f2-7 | tr -d ' \n'

কাটা এবং নির্বাচন ভাঁজ, সেড এবং বিসি দিয়ে করা হয়:

random_source | {echo ibase=2; cat | fold -w6 | sed -r 's/^/if(/; s/([^\(]+)$/\1 <= 110100 \&\& \1 > 0) \1/'}

এটি যেমন লাইন উত্পাদন করে:

if(101010 <= 110100 && 101010 > 0) 101010

যা বিসি-তে পরিচালিত হতে পারে।

সংখ্যার এই প্রবাহ থেকে, ডেকের ক্রমটি এই জাতীয়ভাবে বেছে নেওয়া হয়েছে (আমি zsh ব্যবহার করছি তবে বেশিরভাগ আধুনিক শেলগুলি এর সাথে খাপ খাইয়ে নেওয়া উচিত):

deck=({1..52})
seq_of_numbers | while read n; do 
  if [[ -n $deck[n] ]]; then 
    echo $n; deck[n]=""
    [[ $deck[*] =~ "^ *$" ]] && break
  fi
done

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

parallel echo '{2}{1}' ::: c d s h ::: A {2..9} T J Q K

শেষ দুটি কমান্ড থেকে আউটপুট একত্রিত করে পেস্ট এবং সংখ্যার উপর বাছাই করা:

paste random_deck card_names | sort -n | cut -f2 | tr '\n' ' '

এক বিরাট ওয়ান-লাইনার হিসাবে পুরো জিনিস (কেবল zsh এ পরীক্ষিত):

paste \
  <(deck=({1..52}); \
    </dev/urandom xxd -b | cut -d' ' -f2-7 | tr -d ' \n' |
      {echo ibase=2; fold -w6 | sed -r 's/^/if(/; s/([^\(]+)$/\1 <= 110100 \&\& \1 > 0) \1/'} | 
      bc | 
      while read n; do 
        if [[ -n $deck[n] ]]; then 
          echo $n; deck[n]=""
          [[ -z ${${deck[*]}%% *} ]] && break
        fi
      done) \
  <(parallel echo '{2}{1}' ::: c d s h ::: A {2..9} T J Q K) | 
sort -n | cut -f2 | tr '\n' ' '

সম্পাদনা করুন - যোগ করা বাশ সংস্করণ

এখানে একটি সংস্করণ যা ব্যাশে কাজ করে। আমি শেলটি সরিয়েছি { }এবং অ্যারে সূচকগুলি শূন্য ভিত্তিক based অ্যারে শূন্যতা প্যারামিটার প্রসারণের সাথে চেক করা হয়, কিছুটা আরও দক্ষ এবং উপরের উদাহরণেও গৃহীত হয়েছে।

paste \
  <(deck=($(seq 52)); \
    </dev/urandom xxd -b | cut -d' ' -f2-7 | tr -d ' \n' | 
      (echo ibase=2; fold -w6 | sed -r 's/^/if(/; s/([^\(]+)$/\1 <= 110100 \&\& \1 > 0) \1/') | 
        bc | 
        while read n; do 
          if [[ -n ${deck[n-1]} ]]; then 
            echo $n
            deck[n-1]=""
            [[ -z ${deck[*]%% *} ]] && break
          fi
        done \
  ) \
  <(parallel echo '{2}{1}' ::: c d s h ::: A {2..9} T J Q K) | 
sort -n | cut -f2 | tr '\n' ' '; echo

2

কে অ্যান্ড আর সি - 275

  • v3 সূচক সরাসরি স্ট্রিংগুলিতে লিখিত হয়
  • v2 ব্যবহার স্ট্রিং মন্তব্য luser droog থেকে প্রস্তাবনা এবং প্রতিস্থাপিত অবশিষ্ট charসঙ্গে লিটারেল intলিটারেল

Golfed:

#define F for(i=52;--i;)
#define P putchar 
M=1<<9-1,i,j,k,t,v,s,a[52];r(){t=0,j=9;while(--j)t=t<<1|(getchar()==49);
return t;}main(){F a[i]=i;F{k=i+1;do{j=r();}while(j>M/k*k-1);j%=i;t=a[i];
a[i]=a[j];a[j]=t;}F{s=a[i]&3;v=a[i]>>2;P(v>7?"TJQKA"[v-8]:v+50);
P("cdhs"[s]);P(32);}}

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

এই অ-গল্ফযুক্ত সংস্করণটির মধ্যে পার্থক্য রয়েছে যে এটি /dev/urandomবর্ণিত ইনপুট ফর্ম্যাট থেকে পরিবর্তে ইনপুট নেয় ।

#include <stdio.h>
M=1<<8-1, /* RANDMAX */
  i, j, k, /* counters */
  t, /* temporary for swapping, and accumulating */
  a[52]; /* the deck */
r(){ /* limited, low precision rand() that depends on a random stream
    of '0' and '1' from stdin */
  t=0,j=9;
  while(--j)t=t<<1|(getchar()&1);
  return t;
}
main(){
  for(i=52;--i;)a[i]=i;  /* initialize the deck */
  for(i=52;--i;){
    /*  printf("shuffling %d...\n",i); */
    k=i+1;
    do { /* draw *unifromly* with a a-unifrom generator */
      j=r(); 
      /* printf("\t j=0x%o\n",j); */
    }while(j>M/k*k-1); /* discard values we can't mod into evently */
    j%=i;
    t=a[i];a[i]=a[j];a[j]=t; /* swap */
  }
  for(i=52;--i;){ /* output the deck */
    j=a[i]&3;
    k=a[i]>>2;
    putchar(k>7?"TJQKA"[k-8]:k+'2');
    putchar("cdhs"[j]);
    putchar(' ');
  }
}

+1 আমার অনেক কিছু শেখার আছে। BTW, কেন না "TJQKA"এবং "cdhs"?
luser droog

উহু. ঠিক। intগুলি। আমি এটা পাই. সমস্ত বিরামচিহ্নগুলি সংরক্ষণ করতে এখনও এটি মূল্যবান হতে পারে। এমনকি বিবেচনার পারে charআউট getcharএবং putcharএকটি ছবি পাণ্ডুর ম্যাক্রো সঙ্গে ...
luser droog

1
ম্যাক্রো বিকল্পগুলি অনেক অর্জন করতে হবে কারণ তাদের #define N একটি নতুন লাইন দিয়ে শুরু করতে হবে যা একটি চরিত্র হিসাবে গণ্য হয়েছে এবং এটি 11, এবং আপনি যে বিটটি প্রতিস্থাপন করছেন সেটিই। কিছু বা সমস্ত অক্ষরের অক্ষরের অন্তর্নিহিত অক্ষরের পরিবর্তে আরও কয়েকটি অক্ষর রয়েছে তবে এখানে দেরি হয়ে গেছে ... সম্ভবত আমি এটি অন্য সময় করব।
dmckee --- প্রাক্তন মডারেটর বিড়ালছানা

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

0

পিএইচপি, 158 অক্ষর

কোড ব্লক স্ক্রোলবার অর্জন বন্ধ করতে নিউলাইনগুলি যুক্ত করা হয়েছে, সেগুলি নিরাপদে সরানো যেতে পারে।

for($i=52,$x='shdcKQJT98765432A';$i--;$c[]=$x[4+$i%13].$x[$i/13]);
while(ord($i=fgetc(STDIN)))$c[$i]^=$c[$a]^=$c[$i]^=$c[$a=2+($a+++$i)%50];
die(join(' ',$c));

আমাকে একটি যুক্ত করার আগে বলার আগে <?phpএটি জানা যাক আপনি খুব সহজেই এই ট্যাগটি ছাড়াই পিএইচপি ডাকতে পারেন:cat golf.php | php -a

ডি-গল্ফড এবং মন্তব্য করেছে:

// Abuse of the for construct to save a bit of space, and to make things more obscure looking in general.
for (
    // Card suit and number are reversed because we're using a decrementor to count
    // down from 52, instead of up to 52
    $i = 52,
    $x = 'shdcKQJT98765432A';
    // Condition AND per-loop decrement
    $i--;
    // Add a new element to the array comprising of $i mod 13 + 4 (to skip suit ids)
    // followed by simply $i divided by 13 to pick a suit id.
    $c[] =
        $x[4 + $i % 13] .
        $x[$i / 13]
);

while(

    // Assignment inside the condition, a single character from input.
    ord($i = fgetc(STDIN))
)
    // In-place swap. Shorter than using a single letter temporary variable.
    // This is the pseudo-random shuffle.
    $c[$i] ^=
    $c[$a] ^=
    $c[$i] ^=
    $c[
        // We use the input (0 or 1) to identify one of two swap locations at the
        // start of the array. The input is also added to an accumulator (to make
        // the increments "random") that represents a swap destination.
        $a = 2 + ($a++ + $i) % 50
    ];

// Dramatic way of doing "echo" in the same space.
die(
    join(' ', $c)
);

দুটি প্রত্যাশিত ত্রুটি রয়েছে, যা প্রোগ্রামের আউটপুটকে প্রভাবিত করে না।

প্রথমটি কারণ $aআরম্ভ করা হয়নি, তবে NUL 0 তে রূপান্তরিত হয়েছে এবং প্রোগ্রামটি অবিরত রয়েছে।

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

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