【发布时间】:2011-01-21 19:42:02
【问题描述】:
我有几个从 cin 读取的向量类型的元素,然后我对向量进行一些计算,它的元素顺序发生了变化。问题是我需要在计算后打印向量元素的位置。这个我不知道怎么解释好,所以我举个例子:
10 1 100 1000
而 10 是第一个元素,1 是第二个,100 是第三个等。计算后向量会发生变化:
100 10 1 1000
所以我应该打印
3 1 2 4
因为 100 是输入的第三个元素,10 是第一个等等。
我尝试使用数组[1000](因为输入中没有大于 1000 的数字),但它不起作用,因为可以有多个具有相同值的数字,例如:
10 10 10 100
并且输出可以是1 2 3 4 或2 3 1 4 或3 1 2 4 等,但在这里我需要输出1 2 3 4,因为它是“最小的”。
我尝试使用数组 f[1001] 和 f[10] = 1、f[100] = 2、f[1] = 3 - 如果输入的数字是 10 100 1。但是如果有多个数字具有相同的值,例如10 10 100,那么我的想法就行不通了。请以任何可能的方式帮助我。
【问题讨论】: