الگوی معکوس زیر رشته — راهنمای کاربردی
در این مطلب، روش نوشتن برنامه یافتن الگوی معکوس زیر رشته آموزش داده شده است. رشته str داده شده است. هدف پیدا کردن الگویی است که در مثال زیر مشخص شده است.
مثال:
Input: str = “geeks”
Output:
geeks
*kee*
**e**
معکوس “geeks”، به صورت “skeeg” است. اولین و آخرین کاراکتر با ‘*’ جایگزین میشود؛ برای مثال، *kee*. دومین و دومین آخرین کاراکتر در رشته ویرایش شده به صورت **e** خواهد بود و به همین ترتیب.
Input: str = “first”
Output:
first
*sri*
**r**
روش مورد استفاده برای نوشتن برنامه یافتن الگوی معکوس زیر رشته
- رشته ویرایش نشده را چاپ کن.
- رشته را معکوس کن و مقداردهی اولیه را به صورت i = 0 و j = n – ۱ انجام بده.
- s[i] = ‘*’ و s[j] = ‘*’ را جایگزین و i = i + 1 و j = j – ۱ را به روز رسانی کن؛ سپس، رتشه ویرایش شده را چاپ کن.
- گامهای بالا را در حالیکه j – i > 1 است، تکرار کن.
در ادامه، پیادهسازی رویکرد بالا ارائه شده است.
پیادهسازی روش بالا در ++C
// C++ program to print the required pattern
#include <bits/stdc++.h>
using namespace std;
// Function to print the required pattern
void printPattern(char s[], int n)
{
// Print the unmodified string
cout << s << "\n";
// Reverse the string
int i = 0, j = n - 2;
while (i < j) {
char c = s[i];
s[i] = s[j];
s[j] = c;
i++;
j--;
}
// Replace the first and last character by '*' then
// second and second last character and so on
// until the string has characters remaining
i = 0;
j = n - 2;
while (j - i > 1) {
s[i] = s[j] = '*';
cout << s << "\n";
i++;
j--;
}
}
// Driver code
int main()
{
char s[] = "geeks";
int n = sizeof(s) / sizeof(s[0]);
printPattern(s, n);
return 0;
}
پیادهسازی روش بالا در جاوا
// Java program to print the required pattern
class GFG
{
// Function to print the required pattern
static void printPattern(char[] s, int n)
{
// Print the unmodified string
System.out.println(s);
// Reverse the string
int i = 0, j = n - 1;
while (i < j)
{
char c = s[i];
s[i] = s[j];
s[j] = c;
i++;
j--;
}
// Replace the first and last character
// by '*' then second and second last
// character and so on until the string
// has characters remaining
i = 0;
j = n - 1;
while (j - i > 1)
{
s[i] = s[j] = '*';
System.out.println(s);
i++;
j--;
}
}
// Driver Code
public static void main(String []args)
{
char[] s = "geeks".toCharArray();
int n = s.length;
printPattern(s, n);
}
}
// This code is contributed by Rituraj Jain
پیادهسازی روش بالا در پایتون ۳
# Python3 program to print the required pattern
# Function to print the required pattern
def printPattern(s, n):
# Print the unmodified string
print(''.join(s))
# Reverse the string
i, j = 0, n - 1
while i < j:
s[i], s[j] = s[j], s[i]
i += 1
j -= 1
# Replace the first and last character
# by '*' then second and second last
# character and so on until the string
# has characters remaining
i, j = 0, n - 1
while j - i > 1:
s[i], s[j] = '*', '*'
print(''.join(s))
i += 1
j -= 1
# Driver code
if __name__ == "__main__":
s = "geeks"
n = len(s)
printPattern(list(s), n)
# This code is contributed
# by Rituraj Jain
پیادهسازی روش بالا در #C
// C# program to print the required pattern
using System;
class GFG
{
// Function to print the required pattern
static void printPattern(char[] s, int n)
{
// Print the unmodified string
Console.WriteLine(s);
// Reverse the string
int i = 0, j = n - 1;
while (i < j)
{
char c = s[i];
s[i] = s[j];
s[j] = c;
i++;
j--;
}
// Replace the first and last character
// by '*' then second and second last
// character and so on until the string
// has characters remaining
i = 0;
j = n - 1;
while (j - i > 1)
{
s[i] = s[j] = '*';
Console.WriteLine(s);
i++;
j--;
}
}
// Driver Code
public static void Main(String []args)
{
char[] s = "geeks".ToCharArray();
int n = s.Length;
printPattern(s, n);
}
}
// This code is contributed by 29AjayKumar
خروجی قطعه کد بالا، به صورت زیر است.
geeks
*kee*
**e**
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی
- آموزش برنامهنویسی C++
- مجموعه آموزشهای ریاضیات
- یافتن دور همیلتونی با الگوریتم پس گرد — به زبان ساده
- الگوریتم بازی مار و پله همراه با کد — به زبان ساده
- حل مساله n وزیر با الگوریتم پسگرد (Backtracking) — به زبان ساده
- الگوریتم جست و جوی دودویی در جاوا اسکریپت — به زبان ساده
مجموعه: برنامه نویسی, مهندسی کامپیوتر برچسب ها: ساختمان داده, طراحی الگوریتم, کد الگوی یافتن زیر رشته در ++C, کد الگوی یافتن زیر رشته در PHP, کد الگوی یافتن زیر رشته در پایتون, کد الگوی یافتن زیر رشته در جاوا
(No Ratings Yet)
Loading...