打印最短路径以在 C 程序中在屏幕上打印字符串。

打印最短路径以在 c 程序中在屏幕上打印字符串。

Given a string, the program must display the shortest path which will print the string over the screen using that shortest path.

Like screen will store alphabets in the format

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

Example

的中文翻译为:

示例

Input: HUPOutput : Move DownMove DownMove Downdestination reachedMove LeftMove LeftMove DownMove DownMove Downdestination reachedMove Updestination reached

这里使用的方法是将字符存储在n x n矩阵中,并执行以下操作 −

If row difference is negative then move upIf row difference is positive then move downIf column difference is negative then go leftIf column difference is positive then we go right

算法

STARTStep 1 -> Declare Function void printpath(char str[])   Declare variable int i = 0 and cx=0 and cy=0   Loop While str[i] != ''      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  in main()   Declare char str[] = {"HUP"}   Call printpath(str)STOP

Example

的中文翻译为:

示例

#include void printpath(char str[]){   int i = 0;   // start from character 'A' present at position (0, 0)   int cx = 0, cy = 0;   while (str[i] != ''){      // 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 DownMove DownMove Downdestination reachedMove LeftMove LeftMove DownMove DownMove Downdestination reachedMove Updestination reached

以上就是打印最短路径以在 C 程序中在屏幕上打印字符串。的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1444643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 21:45:29
下一篇 2025年12月9日 22:35:00

相关推荐

  • 最长非递增子序列在一个二进制字符串中

    在这个问题中,我们需要找到给定字符串的最长非递增子序列。 非递增的意思是字符要么相同,要么按降序排列。由于二进制字符串仅包含“0”和“1”,因此生成的字符串应以“1”开头并以“0”结尾,或者以“0”或“1”开头和结尾。 为了解决这个问题,我们将统计字符串每个位置的前缀“1”和后缀“0”,并找到前缀“…

    好文分享 2025年12月17日
    000
  • 使用C++寻找0中1的模式

    在本文中,我们给出了几行和几列的值。我们需要打印一个盒子模式,使得1打印在第一行、第一列、最后一行、最后一列,而0打印在其余元素上。例如− Input : rows = 5, columns = 4Output : 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1Inp…

    2025年12月17日
    000
  • 打印矩阵的对角线模式

    给定一个 n*n 的二维数组,任务是找到给定矩阵的反螺旋排列 Input : arr[4][4]={1,2,3,4, 5,6,7,8, 9,10,11,12 13,14,15,16}Output : 1 6 11 16 4 7 10 13 算法 STARTStep 1 -> declare s…

    2025年12月17日
    000
  • C++程序访问类的私有成员

    类的私有成员只能被类的成员访问。这样做是为了保持面向对象的封装原则,确保数据及其相关函数被保存在一个单元中,并且只能从该类的成员访问。C++有三种不同的访问控制符来指定类的成员的可见性。这三种访问控制符是− Public − 如果一个类的成员具有public可见性,那么这些成员可以从任何其他类中访问…

    2025年12月17日
    000
  • 找到每个给定的N个区间右侧最接近的非重叠区间的索引

    一个标准的区间表示通常包括一组成对排列的起始点和结束点。找到每个指定区间右侧最近的不重叠区间构成了我们目前的困境。这个任务在许多不同的应用中具有巨大的重要性,比如资源分配和调度,因为它涉及识别不与当前区间相交或包含的下一个区间。 语法 为了帮助理解即将展示的代码演示,让我们首先查看将要使用的语法,然…

    2025年12月17日
    000
  • C++程序以给定值找到反正弦

    在三角学中,我们最常使用几个比率:正弦、余弦、正切和其他一些比率。从给定的角度,可以计算这些比率。但是,如果我们有比率值,我们还可以使用反三角函数计算角度。 在本文中,我们将讨论如何通过 C++ 中的反正弦(反正弦)方法从正弦值获取弧度角。 asin() 函数 asin() 方法用于使用反三角正弦函…

    2025年12月17日
    000
  • C++程序将列表转换为集合

    C++中的列表与向量一样是容器,但列表的实现是基于双重的链表与向量的数组实现相比。列表一般不包含列表中的元素分布在连续的位置记忆。列表在其中的任何地方都提供相同的恒定时间操作,这是主要的使用列表的特点。另一方面,集合是包含唯一值的容器某种类型并且所有元素都按升序排序。这两个容器是不同,但是有多种方法…

    2025年12月17日
    000
  • 通过将给定字符的所有出现替换为指定的替换字符来修改字符串

    在这个问题中,我们需要根据字符对数组中给定的字符替换给定字符串的字符。我们将讨论两种不同的解决方法。在第一种方法中,我们通过遍历给定字符串的字符和字符对来替换每个字符。 在第二种方法中,我们将使用一个长度为26的数组来存储与每个字符相关的替换字符,并改变给定字符串的字符。 问题陈述 − 我们给定了一…

    2025年12月17日
    000
  • 加密字符串

    加密是一种通过使用某些技术或某些步骤来更改数据的技术,使其更改为另一种信息或无法直接从中收集到先前的信息。对于加密,我们必须遵循针对特定加密类型固定的某些步骤。 在这个问题中,我们将得到一个字符串,我们必须按照给定的步骤对其进行加密 – 首先,我们必须获取包含相同字符的所有子字符串,并将…

    2025年12月17日
    000
  • 在C语言中,什么是内联函数?

    内联函数可以在函数调用发生的地方替换。函数替换始终是编译器的选择。 在内联函数中,函数调用被实际的程序代码替换。 大多数内联函数用于小型计算。它们不适合大型计算。 内联函数与普通函数类似。唯一的区别是我们在函数名称之前放置了一个关键字 inline。 立即学习“C语言免费学习笔记(深入)”; 内联函…

    2025年12月17日
    000
  • 格雷码的十进制等价及其逆序

    格雷码或反射二进制码是一种数字二进制表示形式,其中两个连续数字仅相差一位。 例如1的格雷码是001,2的格雷码是011。 格雷码通常用于纠错,因为它可以防止在状态更改时通常的二进制表示中可能发生的一些数据错误。 由于其独特的属性,格雷码在 k-map、通信等方面也很有帮助。 先决条件 在进一步阅读之…

    2025年12月17日
    000
  • 如何使用C++在OpenCV中旋转视频?

    旋转视频与旋转图像类似。唯一的区别是我们不是将静态图片加载到图像矩阵中,而是加载了视频或从相机获取视频流。 这里,我们不是加载视频,而是使用相机拍摄视频。如果要使用视频文件,只需正确输入视频文件的地址即可。 以下程序演示了如何使用C++在OpenCV中旋转视频。 示例 H2> #include…

    2025年12月17日
    000
  • 检查给定的图中两个节点之间的路径是否表示最短路径

    要检查图表的两个中心之间的给定路径是否符合最短路径,可以通过使用可靠的最短路径将沿给定路径的整个边缘权重与相同中心组合之间的最短距离进行比较方式计算,例如 Dijkstra 计算或 Floyd−Warshall 计算。如果给定路径上的所有边权重与最有限的删除相匹配,那么它就代表最简单的路径。另外:如…

    2025年12月17日
    000
  • C程序求第n个偶数

    给定一个数字N,我们需要找到第N个偶数。 偶数是能够被2整除且余数为零的数字。例如2、4、6、8、10等。 如果我们仔细观察偶数列表,我们也可以表示它们为 2*1=2, 2*2=4, 2*3=6, 2*4=8,…2*N。 因此,为了解决这个问题,我们可以简单地将数字N乘以2,这样结果就是…

    2025年12月17日
    000
  • C程序以找到链表的长度

    链接列表使用动态内存分配,即它们相应地增长和收缩。它们被定义为节点的集合。这里,节点有两部分,即数据和链路。数据、链接和链表的表示如下 – 链表的类型 链表有四种类型,如下: – 单链表/ 单链表双/双向链表循环单链表循环双链表 我们使用递归方法求链表长度的逻辑是 &#821…

    2025年12月17日
    000
  • C++程序计算矩阵对角线之和

    The utilization of 2-dimensional arrays or matrices is extremely advantageous for severalapplications. Matrix rows and columns are used to hold number…

    2025年12月17日
    000
  • 按字符的ASCII值对字符串进行排序

    ASCII 值 ASCII(美国信息交换标准代码)是计算机和互联网上文​​本数据最常见的字符编码格式。在标准 ASCII 编码数据中,256 个字母、数字或特殊附加字符和控制代码都有唯一值。 问题陈述 现在,在这个问题中,我们需要根据字符的 ASCII 值按升序找到排序后的字符串,其中该字符串将是用…

    2025年12月17日
    000
  • C++以k个元素为一组,从n个元素中取r个元素的排列

    给定n、r、k,现在我们必须找出如何从n中选择r个物品,以便特定的k个物品总是一起出现,例如。 Input : n = 8, r = 5, k = 2Output : 960Input : n = 6, r = 2, k = 2Output : 2 我们需要一些知识来解决这个问题,因为这个问题要求我…

    2025年12月17日
    000
  • 安排前N个自然数,使得相邻元素的绝对差大于1

    我们有前 N 个自然数。我们的任务是获得它们的一种排列,其中每两个连续元素之间的绝对差 > 1。如果不存在这样的排列,则返回 -1。 方法很简单。我们将使用贪心方法。我们将所有奇数按升序或降序排列,然后将所有偶数按降序或升序排列 算法 arrangeN(n) Begin if N is 1, …

    2025年12月17日
    000
  • 在C语言中,FILE的数据类型是什么?

    在C语言中,我们使用文件(Files)来处理文件操作,我们使用类型为FILE的指针来操作文件。因此,FILE是一种数据类型。这被称为不透明数据类型,因为其实现是隐藏的。FILE的定义是系统特定的。以下是Ubuntu系统中FILE的定义: FILE定义 struct _IO_FILE { int _f…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信