সমস্যা
রানটাইমে ইনপুট लिये गये স্ট্রিং থেকে সব স্পেস রিমুভ করুন হвайল লুপ এবং প্রতিটি ক্যারেক্টার ইন্ডেক্সে স্পেস চেক করে।
সমাধান
নিচের উদাহরণটি বিবেচনা করুন:
এটি একটি দেওয়া স্ট্রিং থেকে সব স্পেস রিমুভ করে। দেওয়া স্ট্রিং: Tutorials Point C Programming। স্পেস রিমুভ করার পর ফলাফল: TutorialsPointCProgramming।
স্ট্রিং ঘোষণা নিচে দেওয়া হলো:
char stringname [size];
উদাহরণস্বরূপ, char string[50]; ৫০ ক্যারেক্টার দৈর্ঘ্যের স্ট্রিং।
ইনিশিয়ালাইজেশন
- সিঙ্গেল ক্যারেক্টার কনস্ট্যান্ট ব্যবহার করে।
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
- স্ট্রিং কনস্ট্যান্ট ব্যবহার করে।
char string[10] = “Hello”:;
অ্যাক্সেস
একটি কন্ট্রোল স্ট্রিং “%s” স্ট্রিং অ্যাক্সেস করতে ব্যবহৃত হয় যতক্ষণ না ‘\0’ পাওয়া যায়।
স্ট্রিং-এর মধ্যে স্পেস রিমুভ করার লজিক নিম্নরূপ:
while(string[i]!='\0'){ check=0; if(string[i]==' '){ j=i; while(string[j-1]!='\0'){ string[j] = string[j+1]; j++; } check = 1; } if(check==0) i++; }
উদাহরণ
স্ট্রিং কনসেপ্ট ব্যবহার করে একটি বাক্যে সব স্পেস রিমুভ করার C প্রোগ্রাম:
#include<stdio.h> int main() { char string[50]; int i=0, j, check; printf("Enter any statement: "); gets(string); while(string[i]!='\0') { check=0; if(string[i]==' ') { j=i; while(string[j-1]!='\0') { string[j] = string[j+1]; j++; } check = 1; } if(check==0) i++; } printf("\nSentence without spaces: %s", string); getch(); return 0; }
আউটপুট
উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের আউটপুটটি দেখায়:
Run 1: Enter any statement: Tutorials Point C Programming Sentence without spaces: TutorialsPointCProgramming Run 2: Enter any statement: Welcome to the world of tutorials Sentence without spaces: Welcometotheworldoftutorials