Sunday 6 August 2017

UVA 492 Solution:

প্রবলেমঃ এই প্রবলেমটা একটা স্ট্রিং রিলেটেট প্রবলেম।  প্রব্লমেটাতে ইনপুট হিসেবে একাধিক লাইন নিতে বলা হয়েছে। লাইনের প্রতিটি শব্দকে একটা বিশেষ নিয়মে কনভার্ট করতে হবে।

১। যদি শব্দটা ভাওয়েল ধারা শুরু হয় তাহলে শুধু শব্দের শেষে ay যুক্ত করতে হবে যেমন ঃ  is ⇛ isay

২। যদি শব্দটা কনসোনেন্ট ধারা শুরু হয় তাহলে শব্দের প্রথম অ্যালফাবেট টা সবার শেষে থাকবে এবং ay যুক্ত হবে যেমন ঃ they ⇨ heytay
 আশা করি প্রব্লেমটা বুজতে কোন সমস্যা হওয়ার কথা না। 😗

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

কী পারতেছো না?? আরে আরো কয়েকবার চেষ্টা করো......

এই এই কি করছো?? সল্যুশন দেখা কিন্ত ঠিক না। আচ্ছা দেখ জাস্ট লজিকটা নেয়ার জন্য কিন্ত পুরো কোডটাই কপি পেস্ট কইরো না। তাহলে নিজের পায়ে নিজেই কুড়াল মারবে।
হ্যাপি কোডিং :(


কোড ঃ

#include<bits/stdc++.h>
using namespace std;
int vowel(char a)
{
    if(a=='A'||a=='a'||a=='E'||a=='e'||a=='I'||a=='i'||a=='O'||a=='o'||a=='U'||a=='u')
        return 1;
    return 0;
}
int main()
{
    char first,word;
    while(word=getchar())
    {
        if(word==EOF)
            return 0;
        if(isalpha(word))
        {
            if(vowel(word))
            {
                while(isalpha(word))
                {
                    cout<<word;
                    word=getchar();
                }
                cout<<"ay";
            }

        else
            {
                first=word;
                word=getchar();
                while(isalpha(word))
                {
                    cout<<word;
                    word=getchar();
                }
                cout<<first<<"ay";
            }
       }
       cout<<word;
    }
    return 0;
}