কম্পিউটার টিউটোরিয়াল

সি প্রোগ্রাম দিয়ে লাইব্রেরি ফাংশন ছাড়া স্ট্রিং রিভার্স করা

স্ট্রিং রিভার্স: দুটি পদ্ধতি

পদ্ধতি ১: strrev() লাইব্রেরি ফাংশন ব্যবহার করে

#include <stdio.h>
#include <string.h>

int main() {
    char str[50];
    printf("Enter a string: ");
    gets(str); // নোট: gets() অসুরক্ষিত, fgets() ব্যবহার করুন
    strrev(str);
    printf("Reversed string = %s\n", str);
    return 0;
}

আউটপুট

Enter a string: Hello
Reversed string = olleH

পদ্ধতি ২: লাইব্রেরি ফাংশন ছাড়া (ম্যানুয়ালি)

দুটি পয়েন্টার/ইন্ডেক্স ব্যবহার করে প্রথম ও শেষ ক্যারেক্টার সোয়্যাপ করে রিভার্স করা হয়।

#include <stdio.h>
#include <string.h>

int main() {
    char str[100];
    int i, len;
    char temp;

    printf("Enter a string: ");
    fgets(str, sizeof(str), stdin);

    // newline ক্যারেক্টার হ্রাস করুন
    len = strlen(str);
    if (len > 0 && str[len-1] == '\n')
        str[--len] = '\0';

    // রিভার্স লজিক
    for (i = 0; i < len / 2; i++) {
        temp = str[i];
        str[i] = str[len - 1 - i];
        str[len - 1 - i] = temp;
    }

    printf("Reversed string: %s\n", str);
    return 0;
}

আউটপুট

Enter a string: Tutorialspoint
Reversed string: tniopslairotuT

অ্যালগরিদম ব্যাখ্যা

  1. স্ট্রিংয়ের দৈর্ঘ্য (len) বের করুন।
  2. লুপ চালান i = 0 থেকে len/2 - 1 পর্যন্ত।
  3. প্রতিটি ইটারেশনে str[i] এবং str[len-1-i] সোয়্যাপ করুন।
  4. লুপ শেষ হলে স্ট্রিং রিভার্স হয়ে যাবে।

নোট

  • gets() ব্যবহার করবেন না — বাফার ওভারফ্লো হয়। fgets() ব্যবহার করুন।
  • strrev() স্ট্যান্ডার্ড সি লাইব্রেরির অংশ নয় (নন-স্ট্যান্ডার্ড), তাই পোর্টেবল কোডে ব্যবহার করা উচিত নয়।
  1. C প্রোগ্রাম: strncmp লাইব্রেরি ফাংশন ব্যবহার করে দুটি স্ট্রিং তুলনা

  2. C প্রোগ্রাম: ফর লুপ ব্যবহার করে স্ট্রিং-এ মেসেজ উল্টা প্রিন্ট করা

  3. সুইচ কেস ব্যবহার করে লাইব্রেরি ম্যানেজমেন্ট সিস্টেমের C প্রোগ্রাম

  4. অ্যারে রিভার্স করার C প্রোগ্রাম