রেটটড টেক্সট ফেক্সির


14

আমি এই জঘন্য পাঠ্যটি হিভ করেছি যেখানে ভেলগুলি রেটডড বলে মনে হচ্ছে:

আমি খুব খারাপভাবে লেখা লেখা। কিছু পাগল লোক স্বরগুলির ক্রম নিয়ে খেলল। আমাকে ঠিক করুন!

সুতরাং আমার কাছে এমন একটি প্রাগ্রম দরকার যা ভোভলগুলি (এবং 'y' অক্ষরটি যেমন মনে হয়) ফিরে যেতে পারে যাতে পাঠ্যটি রেডেবল এগ্রিয়ান।

ওউই ওউর চিইকো প্রিভেডোড ওউ মেকা স্যাম্পলিটো প্রাগ্রোমের লুঙ্গাইগা ছোসো করতে পারেন (কেবলমাত্র একটি চূড়া নয়)। ইয়ান্ট্রে একটি আনপিট ফিড, একটি পাঠ্য ফেলি বা ক্যামমন্ড লেনি হতে পারে। ইউটিপট মায়া ওলসা ভাইরা ওউ লেकी হিসাবে।

কুয়েরসো আমি খারাপ গ্রন্থগুলিকে অবহিত করব। প্রাগ্রামে এমন কোনও ভুলিয়া নেই যা মেকাস গ্রন্থগুলিতে আপনার দ্বারা শেষ করা যায় না und তবে ওউ চাইলে রেটটড গ্রন্থে ওউর সিমন্টস এবং কিউইস্টনগুলিকে আঁকতে পারে।


ব্যাখ্যা

  • আপনার প্রোগ্রামটি কেবলমাত্র ASCII পাঠ্য পরিচালনা করতে হবে required
  • এই প্রশ্নের উদ্দেশ্যে, নিম্নলিখিত অক্ষরগুলি স্বরবর্ণ: aeiouy
  • প্রতিটি শব্দের মধ্যে স্বরগুলির অবস্থান ঘোরানো উচিত। শব্দের হিসাবে কী যোগ্য হয় তা সিদ্ধান্ত নেওয়ার ক্ষেত্রে কিছুটা নমনীয়তা রয়েছে: ন্যূনতম প্রয়োজনীয়তা হ'ল কোনও স্থান দ্বারা পৃথকীকৃত দুটি বর্ণ আলাদা আলাদা শব্দে এবং দুটি বর্ণমালার অক্ষর ( a-zA-Z) কেবল বর্ণানুক্রমিক অক্ষর দ্বারা পৃথক করা হয় একই শব্দটিতে।
  • নীচের পরীক্ষার কেসগুলি থেকে আবর্তনের কাঙ্ক্ষিত দিকটি অনুমান করা উচিত।

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

ইনপুট: I'm a badly written text. Some lunatic guy played with the order of vowels. Please fix me !
আউটপুট:I'm a bydla wrettin text. Semo lanituc gyu plyead with the erdor of vewols. Plaese fix me !

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

ইনপুট: Hyphenated-word
আউটপুট: Hephanetyd-wordবাHephanetod-wyrd


1
নির্ধারণ স্বরবর্ণ
পিটার টেলর

5
আমি এই কেন্দ্রবিন্দুতে "সংরক্ষণ" করব।
হাওয়ার্ড

2
প্রশ্নটি ইচ্ছাকৃতভাবে অস্বচ্ছ। প্রদত্ত যে বেশ কয়েকটি সম্ভাব্য সংজ্ঞা রয়েছে (অন্যদের মধ্যে কেবলমাত্র aeiouAEIOUএসসিআইআই / বেসিক ল্যাটিনের সাথে সম্পর্কিত 10 টি কোড-পয়েন্ট ; সেগুলি কোড-পয়েন্ট প্লাস বেসিক ল্যাটিন এবং ল্যাটিন -1 সাপ্লিমেন্টের অন্য যেগুলিতে ডায়াস্রিটিকের সাথে মিলিত সেই মৌলিক অক্ষরগুলি রয়েছে) , প্রশ্ন স্পষ্ট করা উচিত।
পিটার টেলর

1
@ পিটারটেলর আমি ASCII
জন ডিভোরাক

8
গেমটি সমস্যাটি অনুমান করা উচিত নয়। এফএকিউ : দেখুন : " এই সাইটের সমস্ত প্রশ্নের , কোনও প্রোগ্রামিং ধাঁধা বা কোড গল্ফ, থাকা উচিত ... যা সঠিক জমা দেওয়ার বিষয়টি তার স্পষ্ট বিবরণ ation"
পিটার টেলর

উত্তর:


6

গল্ফস্ক্রিপ্ট, 68 67 57 টি অক্ষর

" "/{..+{95&"AEIOUY"?)}:C,1>\{.C!!{96&\(31&@|}*}%\;}%" "*

এসটিডিআইএন-এ অবশ্যই ইনপুট দিতে হবে। উদাহরণ ( অনলাইন ):

> You!!! I'm a badly written text. Some lunatic guy played with the order of vowels. Please fix me !
Ouy!!! I'm a bydla wrettin text. Semo lanituc gyu plyead with the erdor of vewols. Plaese fix me !

5

রুবি, 91 90 টি অক্ষর

$><<gets.gsub(/\S+/){|x|x.gsub(r=/[aeiouy]/i){|y|z=$'[r]||x[r];y>?Z?z.downcase: z.upcase}}

কফিসক্রিপ্ট, 148 খ্রি

alert prompt().replace /\S+/g,(x)->x.replace r=/[aeiouy](?=(.*))/gi,(y,z)->((t=z.match r)&&t[0]||x.match(r)[0])[['toLow','toUpp'][y>'Z']+'erCase']()

"হল্ফ-সারেক্টর" ব্যতীত কোনও ইউএসআইএমটোয়ান নয়, আমার সলিটুন নয়।

টেস্ট:

> To test this program, simply enter a long sentence that appears half-broken
  To test this pragrom, sympli enter a long sentence that eppaars holf-brekan

> No MaTtEr HoW mUcH cAsE yOu uSe, It WoRkS
  No MeTtAr HoW mUcH cEsA oUy eSu, It WoRkS

রুবি কোড সম্পর্কে: 1) $&দ্বিতীয় gsub()ব্লকের y প্যারামিটারের পরিবর্তে 2 টি অক্ষর ব্যবহার করুন ; 2) ?Zপরিবর্তে 1 ব্যবহার করে 1 টি অক্ষর রাখুন 'Z'
manatwork

@ মান্যাটওয়ার্ক $&ব্যবহার করা যাবে না কারণ আমি এটি ব্যবহার করার আগে এটি পরিবর্তন করা হয়েছিল। z=$'[r]এটি পরিবর্তন। সম্পর্কিত ?Z- ধন্যবাদ, আমি এই বাক্য গঠনটি সম্পূর্ণরূপে ভুলে গেছি।
জন ডিভোরাক

উফ। গতকাল আমি কীভাবে এটি পরীক্ষা করেছিলাম ধারণা নেই তাই কাজ করার জন্য হাজির…
manatwork

2

হাস্কেল, 159 টি অক্ষর

আমি যতটা আশা করেছিলাম তত সংক্ষিপ্তভাবে শেষ হয়নি, তবে আমি যাইহোক এটি পোস্ট করার সিদ্ধান্ত নিয়েছি:

import Data.Char
f s=let(v,t)=foldr g(v,[])s in t
g x(v,t)=last$(v,x:t):[(x,c v:t)|c<-[toUpper,toLower],x`elem`map c"AEIOUY"]
main=interact$unwords.map f.words

অবরুদ্ধ সংস্করণ:

import Data.Char

rotateVowels :: String -> String
rotateVowels word = result
  where (vowel, result) = foldr step (vowel, []) word
        step ch (vowel, rest)
          | ch `elem` "AEIOUY" = (ch, toUpper vowel : rest)
          | ch `elem` "aeiouy" = (ch, toLower vowel : rest)
          | otherwise          = (vowel, ch : rest)

main = interact $ unwords . map rotateVowels . words

এটি কীভাবে অলস মূল্যায়ন আপনাকে শীতল কৌশলগুলি করতে দেয় তার একটি দুর্দান্ত উদাহরণ। ইন rotateVowelsপ্রতিটি সময়, একটি নতুন স্বরবর্ণ পাওয়া যায়, এটা, বাম কাছে হস্তান্তর করা হয় যখন এটি এক ডান দিক থেকে আসছে সঙ্গে প্রতিস্থাপন। ভাঁজ থেকে আউটপুট এই অংশটি ইনপুট হিসাবে ফিরে খাওয়ানো হয় যাতে বামতম স্বরটি ডানদিকের প্রতিস্থাপনে পরিণত হয়।

(vowel, result) = foldr step (vowel, []) word
 ^^^^^                        ^^^^^
 this part of the output      is part of the input

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