我想知道如何存储从堆栈弹出的字符或整数,以便我可以将它与原始字符串或int值进行比较。
例如:
n = 1221;
n = n / 1000; // so that i get the last digit in this case 1 and dividing the remainder
// further each time by 100, 10 and 1
如果我存储变量中的每个数字 - 例如,假设我将上述除法中的1存储在名为s的变量中,并将其推入堆栈。 在此之后,我将值重新弹出;当我这样做时,如何检查天气是否等于原始数字?我可以用if条件检查它,例如,如果我有3个那么
(i == p && check for other two numbers)
但我不想要我检查任何尺码。
请不要发送关于如何操作的源代码,只需给我几个片段或一些提示,谢谢。另外,请告诉我你是如何找到解决方案的。
谢谢!
答案 0 :(得分:2)
不要发送关于如何操作的源代码
ok;)
给我一些片段或一些提示
当你提供解决方案时,让我知道你是如何找到解决方案的,天气你已经看过这样的程序或者知道算法,或者当你看到问题时想出了解决方案。感谢
我这么做太久了,不记得我第一次看到它的地方= \
答案 1 :(得分:0)
你可以使用递归来解决问题,就像Justin提到的那样。 一旦开始递归,您将使用适当的除数(1000,100,10,1)将数字除以堆栈中的商。你这样做直到最后。 到达“单位”位置后,存储单位数字,然后开始弹出堆栈。 有一个if-else梯形图从递归函数返回一个整数。 梯形图将具有在左移位之后返回int并返回变量的条件。 您可以在主函数中进行检查。
1 ->1221(left shift 122 OR with 1)
2 ->122(left shift 12 OR with 2)
2 ->12(left shift 1 OR with 2)
1---->1
希望这会有所帮助。 谢谢 阿迪亚