כיצד להפוך מחרוזת ב- C

How Reverse String C



בקידוד מחרוזות, היפוך מחרוזות הוא נושא מכריע. ישנן גם מספר שיטות לביטול מחרוזת, שלכל אחת מהן יש היגיון אחר. מאמר זה יראה לך כיצד להפוך מחרוזת כראוי כדי להשתמש בכמה גישות והנמקה מובחנות עם וללא צורך בפונקציות מוגדרות מראש. בכל פעם שההיפוך של טכניקת מחרוזת מיושם במחרוזת קלט ייחודית מסוימת, הטקסט שצרכן יספק בסדר מסוים יתהפך לחלוטין. במקרה שלהלן, נעשו חלופות שונות של היפוך מחרוזת עם C.

בעת יישום מדריך זה, עבדנו על מערכת לינוקס אובונטו 20.04 המוגדרת ב- Virtual Box. תוך כדי עבודה על מערכת לינוקס, נהגנו לבצע את רוב ההתקנות והשאילתות שלנו על מעטפת הטרמינל. לפיכך, פתח את מעטפת הטרמינל באמצעות קיצור דרך Ctrl+Alt+T או חפש אותה באמצעות סרגל חיפוש יישומים מתחת לאזור הפעילות של שולחן העבודה של אובונטו. יש לעדכן את המערכת תחילה באמצעות שאילתת העדכון המתאים. הוא יבקש ממך את סיסמת המשתמש הנוכחית להפעלת העדכון. מכאן, הוסף סיסמה ולחץ על כפתור Enter.







עדכון $ sudo apt



מכיוון שהשתמשנו בשפת התכנות C כדי לפרט את הרעיון של היפוך מחרוזות במערכת אובונטו 20.04, צריך להתקין מהדר C במערכת אובונטו שלהם. מכאן הקפד להתקין את מהדר GCC במערכת שלך באמצעות השאילתה שלמטה.



$ sudo apt להתקין gcc

דוגמה 01: שימוש ב- For Loop

לאחר ההתקנה והתצורה של מהדר GCC ועדכון חבילת apt, פונה ליצירת קובץ חדש. קובץ זה צריך להיות מסוג C; לכן, השתמש בפקודה touch כדי ליצור קובץ new.c כמפורט להלן. קובץ זה ישמש בקוד שלנו מעתה ואילך במהלך יישום תוכניות מחרוזת הפוכה.





$ מגע חדש.ג

כעת תוכל לפתוח קובץ זה לעריכה או קידוד על ידי עורך ננו שנבנה במערכת Linux 20.04 של אובונטו שלך. לכן, נסה את ההוראה שלהלן בקליפה שלך כדי לעשות זאת.



חדש $ ננו.ג

הקובץ החדש שנוצר מסוג C נפתח בעורך GNU Nano של מערכת אובונטו 20.04. עליך לכתוב בו תסריט C, כפי שמוצג בתמונת המסך שמתחת. תן לנו לפרט על קוד זה להבנתך הטובה יותר. בתחילת קוד, כללנו שתי ספריות. הספרייה stdio.h שימשה לקלוט קלטים ולהצגת הפלט, ומחרוזת הספרייה האחרת שימשה לשימוש בכל מיני מחרוזות בקוד שלנו. כל העבודה של היפוך מחרוזת תתבצע בשיטה הראשית () של קוד C. הכרזנו על מחרוזת מסוג תווים בעלת גודל 50. המשמעות היא שלא ניתן לבדר מחרוזת עם יותר מ -50 תווים בקוד זה. לאחר מכן הכרזנו שני משתנים מסוג שלם. המשתנה l שימש לאיסוף אורך של מחרוזת string, והמשתנה I ישמש כמאתחל עבור לולאה. לאחר מכן השתמשנו בהצהרת printf כדי להדפיס טקסט על הקליפה Enter string, ואמר למשתמש להוסיף ערך למשתנה מחרוזת. שיטת scanf () שימשה להזין את המשתמש בזמן ריצה ולשמור ערך זה במחרוזת str. הפונקציה strlen () שימשה לבדיקת האורך של מחרוזת str אשר נוספה על ידי משתמש בזמן ההפעלה ולשמור אותה במשתנה l '. לאחר מכן אתחלנו לולאת for להפוך את מחרוזת str. אתה יכול לראות שהאתחול I 'לוקח את הערך ממשתנה l כדי להפוך את כיוון המחרוזת. לאחר מכן הוא מדפיס את התווים של מחרוזת str 'אחת לאחת. לאחרונה, השיטה העיקרית הסתיימה. שמור קובץ זה באמצעות Ctrl+S ועזוב אותו באמצעות Ctrl+X.

עכשיו הגיע הזמן לאסוף את הקוד ולבדוק את הפלט שלו. מכאן שהאיסוף בוצע על ידי שאילתת ה- gcc המופיעה להלן עם שם קובץ new.c.

$ gcc חדש.ג

ככל שההרכב מצליח, זה אומר שאין שגיאה בקוד שלנו. בואו נבצע את הקובץ שלנו על ידי שאילתת a.out במעטפת כדלקמן:

$./ל.הַחוּצָה

תהליך הביצוע יבקש מהמשתמש להוסיף מחרוזת. הוספנו את I-Am-Aqsa-Yasin ולחץ על Enter. אתה יכול לראות שהוא מחזיר את ההפוך של מחרוזת בשורה הבאה.

דוגמה 02: שימוש בהחלפה

בדוגמה זו נשתמש בשיטת ההחלפה כדי להפוך את סדר המחרוזת. מכאן שפותחים את הקובץ new.c שוב באמצעות עורך הננו כדלקמן:

חדש $ ננו.ג

כעת הקובץ נפתח בעורך GNU nano; עלינו לעדכן את קובץ הקוד בתסריט המוצג להלן בצילום המסך. כללנו קודם כל את קובץ כותרת הכניסה והפלט בקוד שלנו באמצעות מילת המפתח #include. הגדרנו שיטה הפוכה () בהתאם לשימוש בטכניקת ההחלפה. אתחלנו שלושה משתני סוג שלם חדשים, אני והחלפה. הלולאה הראשונה משמשת כדי לבדוק אם המחרוזת s ריקה או לא. הלולאה הבאה משמשת לאיטרציה, ובגוף שלה החלפנו את הערכים באמצעות משתנים חדשים והחלפים. ראוי לציין כי היפוך מחרוזת באורך n פשוט לוקח n/2 סיבובים. לאחר החלפת מחרוזות, יהיה עליך ללולאה שוב כדי להציג את המחרוזת ההפוכה, שאנו עושים בתוך היישום שלנו באמצעות שלישית ללולאה. יש לקרוא את הפונקציה Reverse () מהתוכנית הראשית הפנימית. ציינת מה הביצועים של התוכנה שלך עם printf בהקשר של main (). לאחר מכן השתמשת ב- scanf () כדי לקבל קלט משתמשים והפעלת את שיטת Reverse (). כעת שמור את הקובץ שוב באמצעות Ctrl+S ועזוב את עורך הננו על ידי קיצור Ctrl+X וחזור למעטפת הטרמינל.

הידור הראשון של הקוד על ידי שאילתת gcc להלן.

$ gcc חדש.ג

כעת בצע את קובץ הקוד באמצעות אותה הוראה ./a.out.

$./ל.הַחוּצָה

הוא יבקש ממך להזין את ערך המחרוזת. הוספנו AqsaYasin וקיבלנו את ההפך.

דוגמה 03: שימוש ברקורסיה

בדוגמה זו, נשתמש ברקורסיה כדי להפוך מחרוזת שהוסיף משתמש. לכן פתח את הקובץ שוב.

חדש $ ננו.ג

תוכנית זו מדפיסה הזן משפט: לאחר מכן נעשה שימוש בשיטת Reverse (). האות הראשונית שהוזן על ידי משתמש נשמרת ב- c באמצעות שיטה זו. הפוך () מבוצע שוב אם הארגומנט הוא משהו אחר מ- n (קו חדש). הליך זה נמשך עד שהמשתמש לוחץ על מקש Enter. בכל פעם שהמשתמש לוחץ על enter, שיטת Reverse () מדפיסה את הטקסט בסדר הפוך. שמור וסגור את הקובץ.

היתר תחילה את הקוד ולאחר מכן הפעל אותו באמצעות הפקודות הקודמות כדלקמן:

$ gcc חדש.ג

$./ל.הַחוּצָה

אתה יכול לראות שהוא לוקח קלט ממשתמש כמשפט מחרוזת שלם ואז להפוך את סדר המשפט הזה.

סיכום:

לבסוף, עשינו שלוש דוגמאות לפרט על הפיכת קלט מסוג מחרוזת בשיטות שונות, למשל, שימוש בלולאה, שימוש ברקורסיה ושימוש בהחלפה.