সমস্যা
একটি অক্ষরের প্রতিটি সূচীতে স্পেস চেক করে while লুপের সাহায্যে রানটাইমে প্রবেশ করা স্ট্রিং থেকে সমস্ত স্পেস মুছে ফেলুন৷
সমাধান
নিচে দেওয়া একটি উদাহরণ বিবেচনা করুন -
এটি একটি প্রদত্ত স্ট্রিং থেকে সমস্ত স্পেস সরিয়ে দেয়। প্রদত্ত স্ট্রিংটি হল টিউটোরিয়াল পয়েন্ট সি প্রোগ্রামিং . স্পেস অপসারণের পর ফলাফল হল TutorialsPointCprogramming .
অক্ষরের একটি বিন্যাসকে স্ট্রিং বলা হয়।
নিচে ঘোষণা দেওয়া হল একটি স্ট্রিং -
char stringname [size];
উদাহরণস্বরূপ, char স্ট্রিং[50]; দৈর্ঘ্য 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