Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी प्रोग्राम में स्क्रीन पर स्ट्रिंग प्रिंट करने के लिए सबसे छोटा पथ प्रिंट करें।

एक स्ट्रिंग को देखते हुए, प्रोग्राम को सबसे छोटा पथ प्रदर्शित करना चाहिए जो उस सबसे छोटे पथ का उपयोग करके स्क्रीन पर स्ट्रिंग को प्रिंट करेगा।

स्क्रीन की तरह अक्षरों को प्रारूप में संग्रहीत करेगा

A B C D EF G H I JK L M N OP Q R S TU V W X YZ

उदाहरण

इनपुट:HUPOutput :नीचे ले जाएँ नीचे ले जाएँ नीचे की मंज़िल पर पहुँच जाएँ बाएँ ले जाएँ लेफ्ट ले जाएँ नीचे जाएँ नीचे जाएँ नीचे ले जाएँ डाउनडेस्टिनेशन पहुँच गया मूव अप डेस्टिनेशन पहुँच गया

यहां इस्तेमाल किया जाने वाला तरीका वर्णों को n x n मैट्रिक्स में संग्रहीत करना और निम्नलिखित ऑपरेशन करना है -

यदि पंक्ति अंतर ऋणात्मक है तो ऊपर जाएंयदि पंक्ति अंतर सकारात्मक है तो नीचे जाएंयदि स्तंभ अंतर ऋणात्मक है तो बाएं जाएंयदि स्तंभ अंतर सकारात्मक है तो हम दाएं जाते हैं

एल्गोरिदम

STARTचरण 1 -> फ़ंक्शन को शून्य प्रिंटपथ घोषित करें(char str[]) वैरिएबल int i =0 और cx=0 और cy=0 लूप घोषित करें जबकि str[i] !='\0' वैरिएबल को int n1 =( str[i] - 'A')/5 वेरिएबल को int n2 =(str[i] - 'B' + 1)% 5 लूप के रूप में घोषित करें जबकि cx> n1 प्रिंट मूव अप cx- एंड लूप जबकि cy> n2 प्रिंट लेफ्ट मूव करें Cy- एंड लूप जबकि cx  in main() डिक्लेयर char str[] ={"HUP"} कॉल प्रिंटपाथ (str)रोकें

उदाहरण

#include void printpath(char str[]){ int i =0; // स्थिति 'ए' से शुरू करें जो स्थिति (0, 0) पर मौजूद है int cx =0, cy =0; जबकि (str [i]! ='\ 0') {// अगले वर्ण के निर्देशांक खोजें int n1 =(str [i] - 'ए')/5; int n2 =(str [i] - 'बी' + 1)% 5; // ऊपर ले जाएँ यदि गंतव्य ऊपर है जबकि (cx> n1) {printf ("ऊपर ले जाएँ \ n"); सीएक्स--; } // यदि गंतव्य बाईं ओर है तो बाईं ओर ले जाएँ जबकि (cy> n2) { printf ("बाएँ ले जाएँ \ n"); साइ--; } // नीचे जाएं यदि गंतव्य नीचे है जबकि (cx  

आउटपुट

यदि हम उपरोक्त प्रोग्राम चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

नीचे ले जाएं नीचे ले जाएं नीचे की मंजिल पहुंचें बाएं ले जाएं बाएं ले जाएं नीचे ले जाएं 
  1. 0-1 बीएफएस (बाइनरी वेट ग्राफ में सबसे छोटा पथ) सी प्रोग्राम में?

    मान लीजिए कि हमारे पास कुछ नोड्स और जुड़े किनारों के साथ एक ग्राफ है। प्रत्येक किनारे में द्विआधारी भार होता है। तो भार या तो 0 या 1 होगा। एक स्रोत शीर्ष दिया गया है। हमें स्रोत से किसी अन्य शीर्ष तक सबसे छोटा रास्ता खोजना है। मान लीजिए कि ग्राफ नीचे जैसा है - सामान्य बीएफएस एल्गोरिथम में सभी एज

  1. किसी दिए गए स्ट्रिंग के सभी क्रमपरिवर्तन मुद्रित करने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक स्ट्रिंग दी गई है जिसकी हमें स्ट्रिंग के सभी संभावित क्रमपरिवर्तन प्रदर्शित करने की आवश्यकता है। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # conversion def toString(List):    return &

  1. एक स्ट्रिंग में समान लंबाई के शब्दों को प्रिंट करने के लिए पायथन प्रोग्राम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक स्ट्रिंग को देखते हुए हमें स्ट्रिंग के सभी शब्दों को सम लंबाई के साथ प्रदर्शित करने की आवश्यकता है। दृष्टिकोण स्प्लिट () फ़ंक्शन का उपयोग करके इनपुट स्ट्रिंग को विभाजित करें। के लिए . का