列印螢幕上字串的最短路徑的 C 程式。
給定一個字串,該程式必須顯示在螢幕上列印該字串的最短路徑,使用該最短路徑。
螢幕將以這種格式儲存字母
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
示例
Input: HUP Output : Move Down Move Down Move Down destination reached Move Left Move Left Move Down Move Down Move Down destination reached Move Up destination reached
這裡使用的方法是將字元儲存在 n x n 矩陣中,並執行以下操作 −
If row difference is negative then move up If row difference is positive then move down If column difference is negative then go left If column difference is positive then we go right
演算法
START
Step 1 -> Declare Function void printpath(char str[])
Declare variable int i = 0 and cx=0 and cy=0
Loop While str[i] != '\0'
Declare variable as int n1 = (str[i] - 'A') / 5
Declare variable as int n2 = (str[i] - 'B' + 1) % 5
Loop while cx > n1
Print move up
cx—
End
Loop while cy > n2
Print Move Left
Cy—
End
Loop while cx < n1
Print move down
Cx++
End
Loop while cy < n2
Print move down
Cy++
End
Print destination reached
I++
Step 2 -> in main()
Declare char str[] = {"HUP"}
Call printpath(str)
STOP示例
#include <stdio.h>
void printpath(char str[]){
int i = 0;
// start from character 'A' present at position (0, 0)
int cx = 0, cy = 0;
while (str[i] != '\0'){
// find cordinates of next character
int n1 = (str[i] - 'A') / 5;
int n2 = (str[i] - 'B' + 1) % 5;
// Move Up if destination is above
while (cx > n1){
printf("Move Up
");
cx--;
}
// Move Left if destination is to the left
while (cy > n2){
printf("Move Left
");
cy--;
}
// Move down if destination is below
while (cx < n1){
printf("Move Down
");
cx++;
}
// Move Right if destination is to the right
while (cy < n2){
printf("Move Down
");
cy++;
}
// At this point, destination is reached
printf("destination reached
");
i++;
}
}
int main(int argc, char const *argv[]){
char str[] = {"HUP"};
printpath(str);
return 0;
}輸出
如果我們執行上述程式,它將生成以下輸出 −
Move Down Move Down Move Down destination reached Move Left Move Left Move Down Move Down Move Down destination reached Move Up destination reached
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP