একটি স্ট্রিং str[] দেওয়া আছে। স্ট্রিং-এ কোনো স্পেশাল ক্যারেক্টার আছে কিনা যাচাই করতে হবে। স্পেশাল ক্যারেক্টার হলো যেগুলো না অক্ষর না সংখ্যা: !@#$%^&*()+=-\][‘;/.,{}|:”<>?`~। থাকলে "String is not allowed", নাইলে "string is accepted" প্রিন্ট করবে।
উদাহরণ
ইনপুট: "tutorials-point"
আউটপুট: String is not allowed (হাইফেন - স্পেশাল ক্যারেক্টার)
ইনপুট: "tutorialspoint"
আউটপুট: string is accepted
পদ্ধতি
- পুরো স্ট্রিং ট্রাভার্স করা হয়।
- প্রতিটি ক্যারেক্টার স্পেশাল ক্যারেক্টার লিস্টের সাথে মিলিয়ে চেক করা হয়।
- যদি মিল পাওয়া যায়, ফ্ল্যাগ সেট করে ব্রেক করা হয়।
- ফ্ল্যাগ ০ থাকলে accepted, ১ হলে not allowed।
অন্যান্য পদ্ধতি
জাভা বা রেগুলার এক্সপ্রেশন সাপোর্ট করে এমন ল্যাঙ্গুয়েজে regex ব্যবহার করা সহজ ও দ্রুত।
C প্রোগ্রাম উদাহরণ
#include <stdio.h>
#include <string.h>
int special_character(char str[], int n) {
int i, flag = 0;
for (i = 0; i < n; i++) {
if (str[i]=='!' || str[i]=='@' || str[i]=='#' || str[i]=='$' ||
str[i]=='%' || str[i]=='^' || str[i]=='&' || str[i]=='*' ||
str[i]=='(' || str[i]==')' || str[i]=='-' || str[i]=='{' ||
str[i]=='}' || str[i]=='[' || str[i]==']' || str[i]==':' ||
str[i]==';' || str[i]=='\"' || str[i]=='\'' || str[i]=='<' ||
str[i]=='>' || str[i]=='.' || str[i]=='/' || str[i]=='?' ||
str[i]=='~' || str[i]=='`') {
printf("String is not allowed\n");
flag = 1; break;
}
}
if (flag == 0) printf("string is accepted\n");
return 0;
}
int main() {
char str[] = "Tutorials-point";
int n = strlen(str);
special_character(str, n);
return 0;
}
আউটপুট
String is not allowed