C Programming
  • মডিউল ১: বেসিক সিন্টেক্স, ভেরিয়েবলস এবং ডেটা টাইপ
    • মডিউল ১-০: সূচনা
    • মডিউল ১-১: বেসিক স্ট্রাকচার
    • মডিউল ১-২ + মডিউল ১-৩: প্রথম সি প্রোগ্রাম + সি আউটপুট
    • মডিউল ১-৪: প্রোগ্রাম রান করি
    • মডিউল ১-৫+ মডিউল ১-৬:ভেরিয়েবল এবং ডেটা টাইপ
    • মডিউল ১-৭+ মডিউল ১-৮: সি ইনপুট + এস্কেপ সিকুয়েন্স
    • মডিউল ১-৯+ মডিউল ১-১০: ডেটা টাইপ লিমিটেশন
    • মডিউল ১-১১: ভেরিয়েবল নামকরণের নিয়মাবলি
  • মডিউল ২ঃ অপারেটরস, কন্ডিশনাল স্টেটমেন্টস
    • মডিউল ২-০: সূচনা
    • মডিউল ২-১ঃ এরিথমেটিক অপারেটরস
    • মডিউল ২-২ঃ রিলেশনাল অপারেটরস
    • মডিউল ২-৩ঃ লজিকাল অপারেটরস
    • মডিউল ২-৪, ২-৫ঃ ইফ এলস
    • মডিউল ২-৬, ২-৭ঃ ইফ এলস লেডার
    • মডিউল ২-৮, ২-৯ঃ নেস্টেড ইফ এলস
  • মডিউল ৩ঃ লুপ
    • মডিউল ৩-০: সূচনা
    • মডিউল ৩-১, ৩-২: ফর লুপ টাইপ-১
    • মডিউল ৩-৩, ৩-৪: ফর লুপ টাইপ-২
    • মডিউল ৩-৫: ১ থেকে এন পর্যন্ত যোগফল
    • মডিউল ৩-6: লুপের সাথে কন্ডিশন
    • মডিউল ৩-৭, ৩-৮: ব্রেক, কন্টিনিউ স্টেটমেন্ট
    • মডিউল ৩-৯: While & Do While লুপ
  • মডিউল ৫ঃ কন্ডিশনাল স্টেটমেন্ট রিকেপ
    • মডিউল ৫-০ঃসূচনা
    • মডিউল ৫-১ঃ I. Welcome for you with Conditions
    • মডিউল ৫-২ঃ J. Multiples
    • মডিউল ৫-৩ঃ N. Char
    • মডিউল ৫-৪ঃ P. First digit !
    • মডিউল ৫-৫ঃ M. Capital or Small or Digit
    • মডিউল ৫-৬ঃ K. Max and Min
  • মডিউল ৬ঃ লুপ রিকেপ এবং নেস্টেড লুপ
    • মডিউল ৬-০: সূচনা
    • মডিউল ৬-১: ইনক্রিমেন্ট ডিক্রিমেন্ট অপারেটর
    • মডিউল ৬-২: ইভেন নাম্বারস
    • মডিউল ৬-৩: ইভেন, ওড, পজিটিভ, নেগেটিভ
    • মডিউল ৬-৪: ফিক্সড পাসওয়ার্ড
    • মডিউল ৬-৫, ৬-৬: ম্যাক্স, মিন
    • মডিউল ৬-৭: মাল্টিপ্লিকেশন টেবিল
    • মডিউল ৬-৮: ডিজিটস
    • মডিউল ৬-৯, ৬-১০: নেস্টেড ফর লুপ
  • মডিউল ৭ঃ ইন্ট্রোডাকশন টু এরে
    • মডিউল ৭-০: সূচনা
    • মডিউল ৭-১, ৭-২: এরে কি? কেন আমাদের এরে প্রয়োজন?
    • মডিউল ৭-৩,৭-৪: এরে এক্সেস করা
    • মডিউল ৭-৫,৭-৬: এরে ইনপুট আউটপুট
    • মডিউল ৭-৭: এরে ইনিশিয়ালাইজ করা
    • মডিউল ৭-৮: এরে রিভার্স করা
    • মডিউল ৭-৯: এরেতে সবগুলো ভেলু যোগ করা
  • মডিউল ৯ঃ অ্যারে অপারেশন
    • মডিউল ৯-০: সূচনা
    • মডিউল ৯-১ + ৯-২: ইনসার্ট ইলিমেন্ট
    • মডিউল ৯-৩ + ৯-৪: ডিলিট ইলিমেন্ট
    • মডিউল ৯-৫ + ৯-৬: রিভার্স অ্যারে
    • মডিউল ৯-৭ + ৯-৮: কপি অ্যারে
  • মডিউল ১০ঃ ইন্ট্রোডাকশন টু স্ট্রিং
    • মডিউল ১০-০: সূচনা
    • মডিউল ১০-১: স্ট্রিং কি?
    • মডিউল ১০-২: স্ট্রিং ইনিশিয়ালাইজ এবং প্রিন্ট
    • মডিউল ১০-৩: স্ট্রিং ইনপুট
    • মডিউল ১০-৪: স্ট্রিং ইনপুট স্পেস সহ
    • মডিউল ১০-৫: স্ট্রিং এর লেন্থ
    • মডিউল ১০-৬: ক্রিয়েট এ নিউ স্ট্রিং
    • মডিউল ১০-৭: লেটস ইউজ গেটলাইন
    • মডিউল ১০-৮: কাউন্ট
  • মডিউল ১১ঃ স্ট্রিং অপারেশন এবং ফিকোয়েন্সি এরে
    • মডিউল ১১-০ঃ সূচনা
    • মডিউল ১১-১ঃ স্ট্রিং কপি
    • মডিউল ১১-২, ১১-৩ঃ স্ট্রিং লেক্সিকোগ্রাফিকাল কম্পারিসন
    • মডিউল ১১-৪ঃ স্ট্রিং কনকেটিনেশন
    • মডিউল ১১-৫ঃ কাউন্টিং এরে অর ফ্রিকুয়েন্সি এরে
    • মডিউল ১১-৬ঃ কাউন্টিং ক্যারেক্টার
  • মডিউল ১৩: নেস্টেড লুপ রিক্যাপ
    • মডিউল ১৩-০ঃ সূচনা
    • মডিউল ১৩-১ঃ প্যাটার্ন ১
    • মডিউল ১৩-২ঃ প্যাটার্ন ২
    • মডিউল ১৩-৩ঃ প্যাটার্ন ৩
    • মডিউল ১৩-৪ঃ প্যাটার্ন ৪
    • মডিউল ১৩-৫+১৩-৬ঃ Sum of Two Values Equal X
    • মডিউল ১৩-৭+১৩-৮ঃ সিলেকশন সর্ট
  • মডিউল ১৪ঃ ফাংশন এবং পয়েন্টার
    • মডিউল ১৪-০ঃ সূচনা
    • মডিউল ১৪-১ঃ ফাংশন কি?
    • মডিউল ১৪-২ঃ রিটার্ন + প্যারামিটার
    • মডিউল ১৪-৩ঃ রিটার্ন + নো প্যারামিটার
    • মডিউল ১৪-৪ঃ নো রিটার্ন + প্যারামিটার
    • মডিউল ১৪-৫ঃ নো রিটার্ন + নো প্যারামিটার
    • মডিউল ১৪-৬ঃ ইউজফুল বিল্ট-ইন ফাংশন
    • মডিউল ১৪-৭ঃ স্কোপ্স
    • মডিউল ১৪-৮ঃ পয়েন্টার
  • মডিউল ১৫ঃ ফাংশন উইথ পয়েন্টার
    • মডিউল ১৫-০ঃ সূচনা
    • মডিউল ১৫-১ঃ পয়েন্টারস ইন সি
    • মডিউল ১৫-২ঃ কল বাই ভেলু
    • মডিউল ১৫-৩ঃ কল বাই রেফারেন্স
    • মডিউল ১৫-৪ঃ এরে এবং পয়েন্টার
    • মডিউল ১৫-৫ঃ ফাংশন এবং এরে
    • মডিউল ১৫-৬ঃ ফাংশন এবং স্ট্রিং
    • মডিউল ১৫-৭ঃ ফাংশন ইউথ এরে এস রেফারেন্স
  • মডিউল ১৭ঃ Recursion
    • মডিউল ১৭-১ঃ Call Stack
    • মডিউল ১৭-২ঃ রিকার্সন
    • মডিউল ১৭-৩ঃ Print From 1 to n Using Recursion
    • মডিউল ১৭-৪ঃ Print From 5 to 1 using Recursion
    • মডিউল ১৭-৫ঃArray Printing using Recursion
    • মডিউল ১৭-৬ঃ Print From 5 to 1 in Reverse Way
    • মডিউল ১৭-৭ঃ Length of a String using Recursion
  • মডিউল ১৮ঃ 2D এরে
    • মডিউল ১৮-০ঃ সূচনা
    • মডিউল ১৮-১ঃ 2D এরে কি?
    • মডিউল ১৮-২ঃ 2D এরে ইনপুট আউটপুট
    • মডিউল ১৮-৩ঃ 2D এরে প্রিন্টিং বাই রো এন্ড কলাম
    • মডিউল ১৮-৪ঃ ম্যাট্রিক্স এর প্রকারভেদ
    • মডিউল ১৮-৫ঃ জিরো অথবা নাল ম্যাট্রিক্স
    • মডিউল ১৮-৬ঃ ডায়াগোনাল ম্যাট্রিক্স ইউজিং 2D এরে
    • মডিউল ১৮-৭ঃ স্কেলার ম্যাট্রিক্স ইউজিং 2D এরে
    • মডিউল ১৮-৮ঃ ইউনিট ম্যাট্রিক্স ইউজিং 2D এরে
  • মডিউল ১৯ঃ রিকারশন রিকেপ
    • মডিউল ১৯-০ঃ সূচনা
    • মডিউল ১৯-১ঃ মিরর এরে
    • মডিউল ১৯-২ঃ সাম অফ এ ম্যাট্রিক্স
    • মডিউল ১৯-৩ঃ প্রিন্ট ডিজিটস ইউজিং রিকারশন
    • মডিউল ১৯-৪ঃ কাউন্ট ভাওয়েলস
    • মডিউল ১৯-৫ঃ ফেক্টরিয়াল
    • মডিউল ১৯-৬ঃ ম্যাক্স নাম্বার
    • মডিউল ১৯-৭ঃ পেলিনড্রোম
Powered by GitBook
On this page
  1. মডিউল ১০ঃ ইন্ট্রোডাকশন টু স্ট্রিং

মডিউল ১০-৪: স্ট্রিং ইনপুট স্পেস সহ

scanf("%s") দিয়ে ইনপুট নেওয়ার একটি প্রবলেম হচ্ছে, scanf ইনপুটে স্পেস পাওয়ার সাথে সাথে থেমে যায়। অর্থাৎ স্পেস সহ স্ট্রিং ইনপুট নেওয়া যায় না scanf দিয়ে।

#include<stdio.h>
int main()
{
    char a[12];     
    scanf("%s",&a);  
    printf("%s\n",a);  
    return 0;
}

কোডটি রান করে আমরা যদি Hello World ইনপুট দেই। তাহলে দেখব শুধু Hello প্রিন্ট হচ্ছে। স্পেস এর পরের অংশটুকু ইনপুট নেয় নি।

এটা scanf দিয়ে করা পসিবল না। scanf স্পেস পেলেই ইনপুট নেওয়া অফ করে দেয়। তাই এটার জন্য আমরা ২টি ফাংশন ব্যাবহার করতে পারি। gets এবং fgets।

gets কিভাবে ব্যাবহার করতে হয় আমরা দেখে নেইঃ

#include<stdio.h>
#include<string.h> // gets একটি বিল্ট-ইন ফাংশন, এটি ব্যাবহার করতে হলে এই হেডার ফাইলটি ইনক্লুড করতে হয়।
int main()
{
    char a[20];     
    gets(a);       // gets স্পেস সহ স্ট্রিং ইনপুট নিতে পারে। যতক্ষন না ইনপুটে এন্টার না দেওয়া হচ্ছে ততক্ষন gets ইনপুট নিতে থাকে।
    printf("%s",a);  // স্পেস সহ সম্পূর্ণ স্ট্রিং প্রিন্ট হবে।
    return 0;
}

এবার আমরা দেখব fgets কিভাবে ব্যাবহার করতে হয়ঃ

#include<stdio.h>
#include<string.h>  // fgets ব্যাবহার করতে হলেও এই হেডার ফাইলটি ইনক্লুড করতে হয়।
int main()
{
    char a[100];
    fgets(a,20,stdin);   // fgets এর মধ্যে শুরুতে স্ট্রিং এর নাম বলে দিতে হয়, তারপর কত সাইজ ইনপুট নিব সেটার সাইজ দিতে হয় নাল সহ, তারপর stdin এই কিওয়ার্ডটি দিতে হয়।
    printf("%s",a);
    return 0;
}

এই কোডটি রান করে আমরা যত বড় ইনপুটই দেই না কেন fgets শুধুমাত্র ১৯টি ক্যারেক্টার ইনপুট নিবে। কারন আমরা fgets এর মধ্যে ইনপুট সাইজ ২০ বলে দিয়েছি। তাই সে ১৯টি ইনপুট নিবে এবং লাস্টেরটায় নাল বসাবে।

Previousমডিউল ১০-৩: স্ট্রিং ইনপুটNextমডিউল ১০-৫: স্ট্রিং এর লেন্থ

Last updated 1 year ago