একটি স্ট্রিং দেওয়া এবং মিশ্র হাতের অক্ষর সহ, যেমন বড় হাতের এবং ছোট হাতের উভয় ক্ষেত্রেই, কাজটি হল প্রথম অক্ষরটিকে বড় হাতের অক্ষরে বিশ্রামের জন্য গোপন করা যদি এটি বড় হাতের হয়।
আসুন একটি সাধারণ উদাহরণের সাহায্যে এটি গভীরভাবে বুঝতে পারি।
যেমন আমাদের একটি স্ট্রিং "hElLo world" দেওয়া হয়েছে, আমাদের প্রথম অক্ষর 'h' কে রূপান্তর করতে হবে যা ছোট হাতের অক্ষর 'H'-এ এবং সমস্ত অক্ষর স্পেস বা স্ট্রিংয়ের শেষের আগে ছোট হাতের অক্ষরে রেখে দিতে হবে।
তাছাড়া যখন আমরা একটি স্থানের পরে প্রথম অক্ষরের মুখোমুখি হই তখন আমাদের এটিকে বড় হাতের অক্ষরে রূপান্তর করতে হয়।
উদাহরণ
Input: str[] = {“heLlO wORLD”} Output: Hello World Input: str[] = {"sUNIDHi bAnSAL"} Output: Sunidhi Bansal
নিচে ব্যবহৃত পদ্ধতিটি নিম্নরূপ −
- এই সমস্যা সমাধানের জন্য আমরা অক্ষরের ASCII মান ব্যবহার করব।
- ASCII হল আমেরিকান স্ট্যান্ডার্ড কোড ফর ইনফরমেশন ইন্টারচেঞ্জ, বোঝায় যে প্রতিটি অক্ষরের সাথে কিছু কোড যুক্ত থাকে। বড় হাতের অক্ষরের মতো A-Z-কে 65-90 থেকে সংখ্যাসূচক মান দেওয়া হয় এবং ছোট হাতের a-z-কে 97-122 পর্যন্ত সংখ্যা দেওয়া হয়। তাই আমরা আমাদের সমস্যা সমাধানের জন্য এই মানগুলি ব্যবহার করব৷
- আমরা পুরো স্ট্রিংটি অতিক্রম করব এবং,
- প্রথম অক্ষর বা একটি স্থান ‘’ এর পরের অক্ষরটি a-z রেঞ্জে আছে কিনা তা পরীক্ষা করে দেখুন, তাহলে আমরা 'A' এবং 'a'-এর ASCII মান বিয়োগ করব তারপর অক্ষরে ফলাফল যোগ করব।
- যদি এটি প্রথম অক্ষর বা অক্ষরটি স্থানের পরে অবিলম্বে না হয় তবে আমাদের পরীক্ষা করতে হবে অক্ষরটি বড় হাতের আছে কিনা তারপর ছোট হাতের অক্ষরে রূপান্তর করে 'a' - 'A' বিয়োগের ফলাফলে অক্ষরের মান যোগ করুন।
অ্যালগরিদম
Start In Function int firstupper(char str[], int n) Step 1-> Initialize int i Step 2-> Loop For i = 0 And i<n And i++ If i == 0 && str[i] != ' ' || str[i] != ' ' && str[i-1] == ' ' then, If str[i] >= 'a' && str[i]<='z' then, str[i] = (char)(('A'-'a') + str[i] ) End If Else If str[i] >= 'A' && str[i] <= 'Z' then, str[i] = (char)(str[i] + ('a' - 'A')) End If End Function In Function int main(int argc, char const *argv[]) Step 1-> Declare and initialize char str[] = {"sUNIDHi bAnSAL"} Step 2-> Declare n set as sizeof(str)/sizeof(str[0]) Step 3-> firstupper(str, n) Step 4-> Print "%s\n", str End main
উদাহরণ
#include <stdio.h> int firstupper(char str[], int n) { int i; for(i = 0; i<n; i++) { if (i == 0 && str[i] != ' ' || str[i] != ' ' && str[i-1] == ' ') { if(str[i] >= 'a' && str[i]<='z') { str[i] = (char)(('A'-'a') + str[i] ); } } else if (str[i] >= 'A' && str[i] <= 'Z') { str[i] = (char)(str[i] + ('a' - 'A')); } } return 0; } int main(int argc, char const *argv[]) { char str[] = {"sUNIDHi bAnSAL"}; int n = sizeof(str)/sizeof(str[0]); firstupper(str, n); printf("%s\n", str); return 0; }
আউটপুট
Sunidhi Bansal