প্রবলেম সলভিং এ হাতেখড়ি - নতুনদের জন্য | How To Start Problem Solving - For Beginner | URI Online Judge

How to Start Programming with URI Online Judge | Sign UP- Sign In Full Tutorial

শুরুর আগেঃ আমরা যারা প্রোগ্রামিং এ নতুন , প্রায়ই বড় ভাই/আপুদের মুখে শুনে থাকি "যেকোন একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখে প্রবলেম সল্ভিং শুরু করে দাও"
কোথায় করব ? এটা অনেকে বলে দিলেও , কিভাবে করব সেটা শিখিয়ে দেয়ার মত মানুষ খুব কমই পাওয়া যায় । আবার আমরা সেভাবে তাদের খোঁজার  সময়ও পাইনা , অনেক ব্যাস্ত -_-

আমি আবার খুব সহৃদয়য়বান। সেই দুর্লভ ব্যাপারটাকে হাতে কলমে বুঝিয়ে দেবার জন্যই আজকের এই লেখা।প্রোগ্রামিং এর শুরু অনেকের অনেক ল্যাংগুয়েজ দিয়ে হতে পারে , পাইথন , জাভা তবে বেশিরভাগই সি দিয়ে শুরু করে। যারা এই ব্লগটি পড়ছ অর্থাৎ অনলাইন জাজ এ প্রবলেম সল্ভিং শুরু করতে চাচ্ছ , আমি ধরে নেব সি - বেসিক মোটামোটি ক্লিয়ার।
না হলে সুবিন ভাইয়ের কম্পিউটার প্রোগ্রামিং বইটা পড়ে নিতে পারো।
নতুনদের জন্য সবাই ই URI Online Judge  সাজেস্ট করে , এখানকার প্রবলেম গুলা মোটামোটি সহজ হয়ে থাকে। তাহলে চলো সাইন আপ এর মাধ্যমে শুরু করি।

সাইন আপঃ আসলে সাইন আপ করা একদম সহজ । অন্যান্য সাইন আপের মতই শধুমাত্র একটা জায়গায় অনেকে আটকে যায় - ভাইয়া আমিতো গ্রেজুয়েশন কমপ্লিট করিনি Graduation Year কি দেব ? কোন দরকার নেই যেমন আছে তেমনই থাক । আর যারা কমপ্লিট করেছেন তারা শুধু চেইঞ্জ করে দিয়েন । আমি একটা ডেমো পিক এড করে দিচ্ছি , বুঝতে আরো সহজ হবে।

URI Sign Up Demo
আরো একটা জিনিস খেয়াল রাখতে হবে I'm not a robot এ ক্লিক করে টিক মার্ক এনে নিতে হবে এবং I AGREE WITH THE TERMS & CONDITIONS এ টিক মার্ক দিয়ে তারপর SIGN UP করতে হবে।

অতঃপর একটা মেইল যাবে তোমার ইমেইল এ, নিচের ছবির মত।

URI Activition Email
ইমেইলে হিজিবিজি টাইপের যে লেখাটা যেখা যাচ্ছে সেটা হচ্ছে একটিভিশন কোড। তোমরা চাইলে এই কোড কপি করে এনে পেস্ট করেও একটিভেট করতে পার আবার ACTIVATE! বাটনটিতে ক্লিক করলেও অটোমেটিক একটিভ হয়ে যাবে। আমার অটোমেটিকই ভাল লাগে -

একটিভেশন শেষ ! এবার কোপাকোপি হবে :D

 ইমেইল ওবং পাসওয়ার্ড ব্যাবহার করে লগিন করলে নিচের ছবির মতো একটা ইন্টারফেস দেখা যাবে।
যারা লগিন করতে পারবেনা , কমেন্টে যানাবে -_-

তোমাদের মতো আমার একাউন্টটাও নতুন , তাই Day,Solved,Points সব ০ দেখাচ্ছে। সবার উপরে লাল মার্ক করা যে মানুবার টা দেখছো, এটা দিয়েই মুলত সব কন্ট্রল করতে হয়।
প্রথমে আমরা একটা প্রবলেম দেখব - বুঝব এবং সেটা সল্ভ করে সাবমিট করব -  আচ্ছা, সেজন্য আমাদের  যেতে হবে মেনু বারের Problems > Beginner এ। Problems এর উপর মাউস পয়েন্টার রাখলেই নিচের মত একটা সাব মেনু চলে আসবে এবং সেখান থেকে Beginner এ ক্লিক করতে হবে - কারন আমরা বিগেইনারস, ইজি প্রবলেম সল্ভ করব ।

আচ্ছা Beginner এ ক্লিক করার পর নিচের ছবির মত হাজার-খানেক প্রবলেম সেখাবে । আমাদের আসলে সব সল্ভ করার প্র্যোজন নেই , ১৫০+ সলভ করা হয়ে গেলে আমরা আরো একটু হার্ড লেভেলের প্রবলেম সলভের জন্য প্রস্তুত হয়ে যাব তখন বিভিন্ন রেপুটেড অনলাইন জাজ যেমন- CodeForces , Codechef , HackerRank , HackerEarth, UVA, LightOj এসবে প্রবলেম সল্ভ করব ।


URI তে Beginner এর ১ম প্রবলেম হচ্ছে Extremly Basic. চলো একটা ক্লিক করে প্রবলেমটা দেখি - বুঝি - আলোচনা করি এবং সল্ভ করার চেস্টা করি -


সমস্যা ১০০১ঃ Extrememly Basic

কি বলা আছে প্রবলেম এ ? সবটুকু একবার পড়ে ফেল - ইনপূট , আউটপুট  একটূ মণোযোগ দিয়ে দেখ। কিছু বুঝতে পেরেছ ? কেউ কেউ বুঝে গেছ যে, আরে এখানে তো যোগফল বের করতে বলেছে। হ্যা এখানে বলা আছে তোমাকে দুইটা ইন্টেজার টাইপ ভেরিয়েবল নিতে হবে ,এবং সেখানে ইনপুট নেয়া দুইটি সংখ্যা যোগ করে যোগফল দেখাতে হবে ।

- ভেরিয়েবল তোমার নিজের মত নামে নিতে পার । এখানে A,B,X ব্যবহার করেছে বলে যে তোমাকে এগুলোই ব্যবহার করতে হবে তার কোন বাধ্যবাধকতা নেই।
- আউটপুট সেম টু সেম Sample Output এর মত আসতে হবে - X = যোগফল এমন। আর নাহয় Presentation Error দেখাবে।
 তোমাদের মাঝে যারা একটু চালাক তারা ইতিমধ্যে সল্যুশন লিখে ফেলেছে - তবে একটা যায়গায় ধরা খাবে 
প্রবলেম এ সবার শেষে দেখো একটা কথা লিখে আছে , obs...dont forget the endline after all.এই একটা লাইন না দেখার জন্য আমাকে ১০০১ নাম্বার প্রবলেম ৫ বার সাবমিট করতে হয়েছিল ।
এই লেখাটার মানে কি ? তোমাকে প্রত্যেক লাইনের শেষে একটা করে লাইনব্রেক দিতে হবে । C Programming এ লাইন ব্রেক কিভাবে দেয় ? \n ব্যবহার করে , তাইনা ?
আচ্ছা, মোটামোটি সব বোঝা শেষ চলো এবার CodeBlocks এ কোডটা লিখে ফেলি -
CodeBlocks না থাকলে ডাউনলোড করে নিতে পার।
কোড শেষে উপরের ছবিতে মার্ক করা Submit এর মত সাবমিট এ ক্লিক করলে নিচের মত একটা ইন্টারফেস আসবে ।

প্রথমত প্রবলেম নং ( ভেতর থেকে সাবমিট দিলে সাধারনত অটোমেটিক প্রবলেম নং এসে যায় , না আসলে ম্যানুয়ালি লিখে দিতে হবে ) তারপর আসে Language - আমরা যেহেতু সি তে কোড করব তাই C(gcc 4.8.5..যা থেকে) সিলেক্ট করে দেব , কেউ অন্য লেঙ্গুয়েজ এ করলে সেটা সিলেক্ট করে দিবা । তারপর নিচের ছবির মত CodeBlocks থেকে Source Code টা কপি করে বসিয়ে দিবা-


সবকিছু ঠিকঠাক থাকলে , একটু নিচে এসে আল্লাহর নাম নিয়া SEND -


কাজ শেষ !

ভাইয়া , সেন্ড তো করলাম কিন্তু আমার কোড সঠিক নাকি ভুল বুঝব কিভাবে ? আচ্ছা, সেটা বুঝতে হলে আমাদের আবার মেন্যুবার থেকে Problems >> Beginner এ যেতে হবে -


হয়ে গেলে গ্রিণ কার্ড নাহলে লাল । এই সিস্টেমটা কিছুটা ঝামেলার বার বার এখানে এসে দেখা , অনেকে আবার বলবে নিউ ট্যাব ওপেন করে রাখব আর বারবার রিফ্রেশ মারব :D
আসলে আমরা যাদি একটা নিউ ট্যাব নিয়ে Submissions >> Live এ যাই , তাহলেই সঠিক নাকি ভুল আর ভুল হলে কি ভুল সেটা দেখতে পারব -


এখানে Wrong Answer , Runtime Error , Persentation Error আরো অনেক ধরনের Error দেখাতে পারে , এসব কেন দেখায় - কি করতে হবে এসব নিয়ে অন্য একদিন আলোচনা করব।
আল্লাহ হাফেজ ।

Article Rules - শর্টকাট টেকনিক + সহজ নিয়মে সম্পূর্ণ বাংলা ভাষায় আর্টিকেল


আর্টিকেল কি ? A, An এবং The কে Article বলে! আর্টিকেল A,An,The মূলত নির্ভর করে  Determiner এর উপর । Determiner কি? ডিটারমিনার হলো আর্টিকেল এর পরের Noun Pronunciation (উচ্চারনের)। তাই এই বেপারগুলা একটু মন দিয়ে বুঝতে পারলে আর্টিকেল এর ব্যাবহার আমাদের কাছে আরো সহজ হয়ে যাবে।

নিচে A,An এবং The এর ব্যাবহার আলোচনা করা হলোঃ

"A" এর ব্যাবহারঃ
Consonant sound এর পূর্বে article “a” বসে।
ইংরেজি বর্ণমালার a, e, i, o, u বাদে অন্য গুলো consonant sound প্রকাশ করে সুতরাং আর্টিকেল এর পরের Noun এর উচ্চারন যদি a, e, i, o, u বাদে অন্য কোন বর্ণমালার মত হয় তাহলে Article হিসেবে "A" বসবে।
GPS সিস্টেম এর পরিবর্তে আসছে VPS | নতুন প্রযুক্তি

GPS সিস্টেম এর পরিবর্তে আসছে VPS | নতুন প্রযুক্তি

ছবি: গুগল
জিপিএস দেখে পথে চলতে চলতে কখনও কী মনে হয়েছে ঠিক পথে যাচ্ছেন কি না, রাস্তার আশপাশে কোনো সাইনবোর্ড দেখে নিশ্চিত হতে পারলে ভালো হতো বা কেউ যদি পথ দেখিয়ে নিয়ে যেতো। যদি কখনও এরকম মনে হয়ে থাকে, তবে আপনার জন্য রয়েছে সুসংসবাদ।
ঠিক এরকমই এক ফিচার নিয়ে কাজ করছে গুগল। নতুন ওই ফিচারটি সম্পর্কে বিশ্ববাসীকে ধারণা দেওয়ার কাজটিও গত বছরই সেরে ফেলেছে প্রতিষ্ঠানটি। বিশেষ ওই ফিচারটিকে বলা হচ্ছে ‘ভিজুয়াল পজিশনিং সিস্টেম’ বা ‘ভিপিএস’।
চলুন একাধিক প্রযুক্তিবিষয়ক সাইট ও গুগলের বরাতে আমরাও ধারণা নিয়ে নেই নতুন ওই প্রযুক্তিটি সম্পর্কে-
‘ভিজুয়াল পজিশনিং সিস্টেম’ আসলে কী?
প্রযুক্তিবিষয়ক সাইট অ্যান্ড্রয়েড অথরিটি বলছে, ভিজুয়াল পজিশনিং সিস্টেম বা ভিপিএস আদতে গুগল ম্যাপসের একটি ফিচার। শুধু অবস্থান সম্পর্কে ধারণা নিয়েই অগমেন্টেড রিয়ালিটিনির্ভর এ ফিচারটি ব্যবহারকারীকে বিস্তারিতভাবে জানিয়ে ও দেখিয়ে দিতে পারবে তার আশপাশে কী কী রয়েছে। নিজের কাজটি সম্পন্ন করতে ব্যবহারকারীর স্মার্টফোন ক্যামেরা, গুগলের ব্যাক-এন্ড ডেটা এবং অগমেন্টেড রিয়ালিটির সাহায্য নেবে ফিচারটি।  
ছবি: গুগল
ছবি: গুগলশুনে বুঝা যাচ্ছে, জিপিএসের সঙ্গে এর বেশ মিল রয়েছে। অনেকে একে দৃশ্যমান জিপিএস’ও বলছেন। তবে, জিপিএস যেখানে পরিপূর্ণ তথ্য জানাতে অক্ষম, সেখানে বিস্তারিতভাবে ডেটা জানানোর পাশাপাশি দৃশ্যত তা দেখিয়েও দিতে পারবে ভিপিএস।
ঠিক কীভাবে কাজ করবে গুগল ভিপিএস?
কল্পনা করুন কোনো এক রাস্তা ধরে হাঁটছেন, পাশে বড় ছোট অনেক দালান কোঠা। জিপিএস বলছে ঠিক জায়গাতেই পৌঁছে গেছেন আপনি। কিন্তু যে স্থানটির খোঁজে এসেছিলেন, সেটি চোখে পড়ছে না।
ঠিক ওই সময়টিতেই স্মার্টফোনের ক্যামেরা চালু করলেন, আশপাশের দৃশ্য ও নিজ অবস্থান সম্পর্কে ধারণা দিলেন ভিপিএস’কে। স্মার্টফোনের ক্যামেরার লাইভ ফিডে একটি ‘সাইনবোর্ড’ উপস্থিত হয়ে আপনাকে দেখিয়ে দিল, সামনের দালানের চতুর্থ তলা হচ্ছে আপনার কাঙ্ক্ষিত গন্তব্য। রেসিং গেইমের মতো তীর চিহ্ন উপস্থিত হয়ে পথ দেখিয়ে দিল আপনাকে।
এটি করেই কিন্তু ক্ষান্ত দিল না নতুন এই প্রযুক্তি, বাড়তি হিসেবে শেয়ালের মতো একটি লাল রংয়ের প্রাণী এসে হাজির হলো ক্যামেরার লাইভ ফিডে। প্রয়োজনে গাইডের ভূমিকা পালন করে পথ দেখিয়ে পৌঁছে দেবে আপনাকে।
উপরের হিসেবগুলো কিন্তু কোনো কল্পনা নয়। আদতে ওভাবেই কাজ করবে ভিপিএস। অন্তত সেরকম ধারণাই দিয়েছেন গুগলের ভাইস প্রেসিডেন্ট অপর্না চেন্নাপ্রাগাদা।
মোদ্দাকথা, স্মার্টফোনের পর্দা দিয়েই দুনিয়া দেখতে হবে আপনাকে। তাহলেই কেবল ফিচারটির সাহায্যে হদিস পাবেন কাঙ্ক্ষিত গন্তব্যের।
জিপিএস’র সঙ্গে ভিপিএস’র পার্থক্য
একদম সহজ করে বললে, লেখা ও ছবির মধ্যে যে পার্থক্য রয়েছে, জিপিএস এবং ভিপিএসের ক্ষেত্রেও প্রায় একই ধরনের পার্থক্য চোখে পড়বে।
জিপিএস নানা ধরনের জ্যামিতিক আকৃতি ও লেখার সমন্বয়ে ব্যবহারকারীকে সেবা দিয়ে থাকে। এ কারণে সেবাটির বেশ কিছু সীমাবদ্ধতাও রয়েছে। সবসময় পরিপূর্ণ ও বিস্তারিত তথ্য জানাতে পারে না জিপিএস। অন্যদিকে ভিপিএসের পুরো সেবাটাই দৃশ্য নির্ভর। ফলে জিপিএসের চেয়ে অনেক গুণ বেশি সুনির্দিষ্ট ও বিস্তারিত তথ্য জানানোর ক্ষমতা রাখে সেবাটি।
কবে নাগাদ আসতে পারে ভিপিএস?
ভিপিএস-এর ব্যাপারে গুগল প্রথম জানায় ২০১৮ সালের মে মাসে। পরে ২০১৯ সালে প্রযুক্তিটি হাতেকলমে পরীক্ষা করে দেখার সুযোগ পান প্রযুক্তিপ্রেমীরা।
মার্কিন দৈনিক ওয়াল স্ট্রিট জার্নালের ব্যক্তিগত প্রযুক্তি বিষয়ক কলামিস্ট ডেভিড পিয়ার্স ২০১৯ সালের ফেব্রুয়ারিতে যুক্তরাষ্ট্রের স্যান ফ্রান্সিসকোর রাস্তায় ফিচারটির কার্যকারিতা পরীক্ষা করে দেখেন।
তবে, ফিচারটি ভালো হলেও চোখের সামনে স্মার্টফোন ধরে হাঁটায় অভ্যস্থ হতে যে প্রযুক্তিপ্রেমীদের আরেকটু সময় লাগবে, সে বিষয়টিই আকারে ইঙ্গিতে বুঝানোর চেষ্টা করেছেন পিয়ার্স।

প্রোগ্রামিং সমস্যায় টেস্ট কেস | Case: 1 Case:2 সহজ সমাধান | প্রোগ্রামিং বেসিক


অনেকেরই প্রথম প্রথম বিভিন্ন প্রোগ্রামিং সমস্যার টেস্ট কেস নিয়ে সমস্যা হয়ে থাকে। টেস্ট কেস আছে এমন একটি প্রবলেম কিভাবে সমাধান করা যাবে তা নিচে বর্ণনা করলাম।
উদাহরন হিসেবে এই প্রবলেমটি ধরা যাক।

প্রবলেমের নাম:গড় সংখ্যা 
( https://algo.codemarshal.org/problems/556b5d2a9c5e850300c49cae )

একটি শ্রেণিতে Nটি ছাত্র আছে। কিছুদিন আগেই তারা একটি পরীক্ষা দিয়েছিল এবং আজকে তাদের পরীক্ষার খাতা দেখান হচ্ছে। এখন শিক্ষক তাদের সবার মার্কের গড় জানতে চান। তোমাকে N এবং Nটি ছাত্রের পরীক্ষার মার্ক দেওয়া হয়েছে। তোমাকে তাদের গড় মার্ক গণনা করতে হবে।
ইনপুটের বর্ণনা
প্রথম লাইনে একটি ধনাত্মক সংখ্যা T দেওয়া আছে, যেটি হল কতগুলো কেস আছে তার মান। তার পরে Tটি লাইনআছে, যার প্রথমে আছে একটি সংখ্যা, N ( 1  < = N < = 100 ), ছাত্রদের সংখ্যার মান। N-এর পরে আছে Nটি সংখ্যা যেগুলো হল ছাত্রদের মার্ক। ছাত্ররা 0 থেকে 100 এর ভিতরেই মার্ক পেয়েছে।
আউটপুটের বর্ণনা
প্রতিটি কেসের জন্যে প্রথমে কেস এর মান প্রিন্ট দিতে হবে, তারপর একটি পূর্ণসংখ্যা যেটি হল শ্রেণীকক্ষের গড়।

Sample Input 
3
5 1 2 3 4 5
3 100 0 20
4 0 0 100 100 
Sample Output 
Case 1: 3
Case 2: 40
Case 3: 50

উপরের সমস্যাটিতে ইনপুটের বর্ণনা এবং আউটপুটের বর্ণনাতে যেভাবে বলা হয়েছে ঠিক সেভাবেই তোমার প্রোগ্রামে ইনপুট নিতে হবে এবং আউটপুট দিতে হবে।
ইনপুটের বর্ণনাতে প্রথমেই বলা আছে “প্রথম লাইনে একটি ধনাত্মক সংখ্যা T দেওয়া আছে, যেটি হল কতগুলো কেস আছে তার মান।“ তোমার প্রোগ্রামে কয়েকটি ইনপুট দিয়ে জাজ চেক করবেন যে তোমার প্রোগ্রামঠিক আছে নাকি। জাজ কতোগুলো ইনপুট দিবেন তা হলো এই টেস্ট কেস সংখ্যা।  তাই তোমার প্রোগ্রামের শুরুতেই একটি সংখ্যা T ইনপুট নিতে হবে।

int T;
scanf(“%d”,&T);

ইনপুটের বর্ণনায় এরপর বলা আছে, “তার পরে Tটি লাইন আছে, যার প্রথমে আছে একটি সংখ্যা, N ( 1 < = N < = 100 ), ছাত্রদের সংখ্যার মান।"  অর্থাৎ এর পরেআমাদের T সংখ্যক লাইন লিখতে হবে, যা আসলে আমরা যদি 1 থেকে T পর্যন্ত লুপ চালাই তাহলেইহয়ে যাবে। এবং লুপের ভেতরে প্রথম লাইনেই  প্রথমেএকটি সংখ্যা N ইনপুট নিতে হবে। এক্ষেত্রে আমাদের প্রোগ্রাম এখন হবেঃ

int T, i,N;
scanf(“%d”,&T);
for(i=1;i < =T; i++) {
   scanf(“%d”, &N);
}

ইনপুটের বর্ণনায় এরপর বলা আছে, “N-এর পরে আছে Nটি সংখ্যা যেগুলো হল ছাত্রদের মার্ক। ছাত্ররা 0 থেকে 100 এর ভিতরেই মার্ক পেয়েছে।“ অর্থাৎ, এবার আমাদের N সংখ্যক মার্কস ইনপুট নিতে হবে।এজন্য আমাদের আবার একটি লুপের প্রয়োজন হবে। ইনপুট নেবার পাশাপাশি আমাদের প্রবলেমটিওতো সলভ করতে হবে। এই প্রবলেমে মার্কসগুলোর গড় বের করতে বলা হয়েছে। গড় বেড় করতে হলেপ্রথমে মার্কসগুলোর যোগফল নির্ণয় করে তারপর N দিয়ে ভাগ করলেই আমরা গড় পেয়ে যাবো। এইপর্যায়ে এসে আমাদের প্রোগ্রামটি হবেঃ

int T, i,N, j, mark, sum, avg;
scanf(“%d”,&T);
for(i=1; i < =T; i++) {
    scanf(“%d”, &N);
    sum = 0;
    for(j=1; j < = N; j++) {
        scanf(“%d”, &mark);
        sum = sum + mark;
    }
    avg = sum / N;
}

আমাদের প্রোগ্রামের ইনপুট নেওয়া ও প্রোসেসিং শেষ। এবার আমাদেরকে আউটপুটে মান দেখাতে হবে। এজন্য আমাদেরকে আউটপুটের বর্ণনা অনুসারে কাজ করতে হবে। আউটপুটের বর্ণনায় বলা হয়েছে, “প্রতিটি কেসের জন্যে প্রথমে কেসএর মান প্রিন্ট দিতে হবে, তারপর একটি পূর্ণসংখ্যা যেটি হল শ্রেণীকক্ষের গড়।“
এক্ষেত্রে আমাদেরকে Sample Output দেখতে হবে যে আউটপুটের বর্ণনা কিভাবে বাস্তবায়ন করা হয়েছে। Sample Output এ দেখবা Case 1: 3 আকারে এখা হয়েছে। এখানে প্রথমে Case শব্দটি লেখার পর একটি স্পেস দিয়ে কত নম্বর কেসের জন্য আউটপুট দেওয়া হচ্ছে সেটি লেখা হয়েছে, এরপর একটি কোলন দিয়ে তারপর একটি স্পেস দিয়ে তোমার প্রোগ্রামের মূল সমাধান অর্থাৎ গড় নম্বরটি লেখা হয়েছে। এবং তারপর একটি নতুন লাইন দিতে হবে। তোমাকে হুবুহু এই ফরমেটেই লিখতে হবে, কারণ তোমার প্রোগ্রামের আউটপুট কম্পিউটার জাজ করবে। জাজ এর আউটপুটের সাথে তোমার আউটপুট না মিললে তোমাকে Wrong Answer ( অথবা Failed ) দেখাবে।
তাহলে আউটপুটের জন্য printf স্টেটমেন্ট আমরা এভাবে লিখতে পারিঃ
printf(“Case%d: %d\n”, i, avg);    // প্রথমে T সংখ্যক টেস্টের জন্য যে লুপ চালিয়েছিলাম, ওটার i এর মান ব্যবহার করলেই আমরা টেস্ট কেস সংখ্যা পেয়ে যাচ্ছি।
এবার আমাদের পুরো প্রোগ্রামটা একবারে দেখে নিইঃ ( http://ideone.com/b5Xf5h )

#include < stdio.h >
int main()
{
    int T, i, N, j, mark, sum, avg;
    scanf("%d",&T);
    for(i=1; i < = T; i++ )
    {
        scanf("%d", &N);
        sum = 0;
        for(j=1; j < =N; j++)
        {
            scanf("%d", &mark);
            sum = sum + mark;
        }
        avg = sum / N;
        printf("Case %d: %d\n", i, avg);
    }
    return 0;
}

আমার প্রথম পাবলিক পরীক্ষা আর ভোঁতা পেন্সিলের গল্প! | সনেটের বাংলা টেকনোলোজি ব্লগ


আমার প্রথম পাবলিক পরীক্ষা আর ভোঁতা পেন্সিলের গল্প!


আমার তখন এসএসসি পরীক্ষা শুরু হবে। জীবনের প্রথম বড়সড় পাবলিক পরীক্ষা। মনের মধ্যে স্বভাবতই অনেক টেনশন, কী হবে না হবে কিছুই বুঝতে পারছি না। পরীক্ষা খারাপ হবে কি না সেটা আবার আরেক টেনশন। মোটামুটি বাজে অবস্থা।

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

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

যাইহোক, প্রথম পরীক্ষার দিন। আমার সাথে আমার প্রথম পরীক্ষায় এসেছেন আমার মা। তাঁর সাথে আমার কথোপকথন-
মা: আয়মান, বাবা পেন্সিল নিয়েছিস?

আমি: *ক্ষীণ কণ্ঠে* হ্যাঁ, মা।

মা: আয়মান, বাবা ইরেজার নিয়েছিস?

আমি: *আরো ক্ষীণ কন্ঠে* হ্যাঁ, মা।

মা: আয়মান, বাবা পেন্সিল শার্প করে নিয়েছিস তো?

আমি: *শোনা যায় না এমন গলায়* হ্যাঁ, মা।

এবার মা ব্রহ্মাস্ত্র ছাড়লেন। বলে বসলেন, “বাবা পেন্সিল বেশি শার্প করিস নাই তো?”

আমি মোটামুটি যারপরনাই হতাশ হয়ে হাল ছেড়ে দিলাম। আর কিছুই বললাম না। মা এবার শুরু করলেন তাঁর ভোঁতা পেন্সিলের কারসাজি। তিনি বললেন, “বাবা ও এম আর শিটের জন্যে তুই ভোঁতা পেন্সিল নিয়ে যা। দ্রুত গোল্লা ভরাট করতে পারবি”। আমি চিন্তা করে দেখলাম, ভালোই তো আইডিয়া!


যেই বলা সেই কাজ। মা শুরু করে দিলেন তাঁর কাজ। শব-এ-বরাতে যেমন রুটি আর হালুয়া বানায় না? সেই দক্ষতা কাজে লাগিয়ে মুহূর্তেই আমার দুটো পেন্সিল ভোঁতা হয়ে গেল।


ডেমো পোষ্ট !
ক্রেডিটঃ আইমান সাদিক ভাই