বিটওয়াইজ অপারেটর – The Power House!

এই পর্বটি পড়ার আগে এই দু’টো পর্ব দেখে আসলে উপকৃত হবেঃ ১) বিটওয়াইজ-১ ২) বিটওয়াইজ-২ বিটওয়াইজ অপারেটর দিয়ে কত শত কাজ যে করা যায়,তার হিসেব নাই। আজ একটা ”সহজ কিন্তু জটিল” ধরণের সমস্যা নিয়ে একটু আলাপ আলোচনা করবো। অনেকদিন পর লিখতে বসা। সমস্যাটা অনেকটা এরকম।...

সি পর্ব ৯.৩ – ডাইনামিক মেমরি এলোকেশন

সূচিপত্র এই পর্বের শুরুতেই আমরা আলোচনা করবো অ্যারের সীমাবদ্ধতা নিয়ে। আমরা দেখেছি অ্যারে ডিক্লেয়ার করার সময় আমাদের অনুমানের উপর বলে দিতে হয় সর্বোচ্চ কতটি উপাদান আমাদের লাগতে পারে। বেশিরভাগ ক্ষেত্রে ততটি উপাদান আমাদের লাগে না, এবং অপচয় হয় মেমরির। আবার অ্যারের ধারণক্ষমতা...

সি পর্ব ৪.৩ – লুপ : continue এবং break

সূচিপত্র continue ধরা যাক, আমাদের কাছে নামতা লেখার একটা কোড আছে। কোডটা নিচের মত। #include <stdio.h> int main() { int i, num = 7; for (i=1; i<=10; i++) { printf("%d x %d = %d\n", num, i, num*i); } return 0; } তো খুব ভাল কথা। এটা রান করলেই সাতের নামতা প্রিন্ট...

লিংকড লিস্ট – সি

লিংকড লিস্ট হল অনেকটা  অ্যারের মত। এটি এমন একটা অ্যারে যেটা যেকোনো ইন্ডেক্স থেকে প্রসারিত বা সংকুচিত হতে পারে! যেমন তোমার ইচ্ছা হল তুমি ১০০ সদস্যের একটা অ্যারের ৫০ তম অবস্থানে নতুন একটা উপাদান দিবা। এটা নরমাল অ্যারে দিয়ে করা অনেক ঝামেলার হলেও লিংকড লিস্ট দিয়ে একেবারেই...

সি পর্ব ৫.৩ – মাল্টিডাইমেনশনাল অ্যারে

সূচিপত্র ধর, তোমাকে একটি স্কুলের ফলাফল তৈরির দায়িত্ব দেওয়া হল। এখন ক্লাস ওয়ানে ছাত্র আছে ৭ জন। তাহলে তুমি তাদের মোট নাম্বারের একটি অ্যারে বানাতে পার। কাজটা বেশ সহজ। #include <stdio.h> int main() { int numbers[5] = {81, 82, 83, 84, 85, 86, 87}; return 0; } কিন্তু...

সি পর্ব ৫.২ – অ্যারে নিয়ে কারিকুরি

সূচিপত্র এ পর্যন্ত আমরা 1D অ্যারে সম্পর্কে জেনেছি, এবং এধরণের অ্যারে নিয়ে কিছু কাজ করেছি। 2D অ্যারে নিয়ে জানার আগে আমাদের 1D অ্যারে নিয়ে আরও ভাল মত বুঝতে হবে। আর এজন্য এই পর্বে আমরা এধরণের অ্যারে নিয়ে আরও কিছু কাজ করবো। এই পর্বটা হবে একটু ভিন্ন ধরণের। আমি প্রবলেম দিব,...

সি পর্ব ৩.৩ – ? অপারেটর এবং সুইচ

সূচিপত্র সিতে প্রধানত দুইভাবে আমরা প্রোগ্রামের ফ্লোটা নিয়ন্ত্রন করে থাকি। ব্রাঞ্চ লুপ ব্রাঞ্চিং বলতে বুঝায় প্রোগ্রাম যখন একাধিক ব্রাঞ্চের মধ্যে একটি ব্রাঞ্চ বেছে নেয়। এই কাজটি আমরা ইতোমধ্যেই করেছি if-else if-else এর মাধ্যমে। আমরা if-else if এর কাজটি একটি অপারেটর...

পর্ব ৫.১ – অ্যারে

সূচিপত্র ধর তোমাকে বলা হল তোমাকে পর পর দশটা ইন্টিজার দেওয়া হবে। তোমাকে সব ইন্টিজার দেওয়া শেষে এদের যোগফলটা বলতে হবে। সমস্যাটা খুবই সহজ, একটু চিন্তা করলেই তুমি এটার সমাধান করে ফেলতে পারবে। তোমার কোডটা হবে হয়তো এরকমঃ #include <stdio.h> int main() { int n,i,sum =...

সি পর্ব ২.১ – ইনপুট আউটপুট

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

সি পর্ব ৯.২ – ডাটা স্ট্রাকচারের খুঁটিনাটি

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