比较数组中的值并删除较大的值
Compare values in array and remove bigger one
所以基本上我需要比较第一个数组值和下一个数组值,如果第一个数组值更大,然后从列表中删除它。
例如:User enters: 1 2 4 3 5 6 4
Output shpuld be : 1 2 3 5 4
Atm我不知道如何解决这个问题,也当我试图比较最后输入的数字它只是比较0。
void find_and_delete(int *vals, int len){
for (int i = 0; i < len; i++){
if (vals[i] > vals[i+1]){
vals[i] = ' ';
}
oid printt(int *vals, int len){
for (int i = 0; i < len; i++){
if (vals[i] != ' '){
cout << vals[i] << endl;
试试这个
void find_and_delete(int *vals,int len)
{
if(len>0)
{
for (int i = 0; i < len-1; i++)
{
if (vals[i] > vals[i+1]){
vals[i] = ' ';
}
}
}
}
void printt(int *vals, int len){
for (int i = 0; i < len; i++){
if (vals[i] != ' '){
cout << vals[i] << endl;
}
}
}
它不会考虑最后一个元素
对于可调整大小的数组,您可以使用std::vector和#include <vector>
for循环上界为len - 1
not len
std::vector<int> results;
for (int i = 0; i < len - 1; i++){
if (vals[i] > vals[i+1]){
}
else{
results.push_back(vals[i]);
}
}
你可以像下面这样尝试,
int[] t = {1,2,4,3,5,6,4}; // create an array of integers
for (int i=0; i<t.length-1; i++) {
for(int j = i+1; j<t.length; j++){
if (t[i]<t[j]){ // if j is bigger than i
cout << t[i];
}
}
}
相关文章:
- 你能帮我解决删除数组 c++ 中重复值的挑战吗?
- 删除[i] 数组和删除数组 [i] 之间的区别
- 如何实现删除数组的功能?
- 删除数组 c++ 崩溃问题
- 如何删除数组列表中的元素
- C++删除数组只会解除分配第一项
- 删除数组成员的更好方法是什么?
- 如何使用 deleteEntry 函数 c++ 删除数组中的单个字符串
- 删除数组中所有出现的数字 C++
- C++ 删除数组时检测到堆损坏
- 不允许删除数组的一部分,为什么
- 如何删除数组中第一次出现的值
- 当我删除数组时,指针在哪里?指向数组的指针与数组中的元素之间的区别
- 尝试用C 中的空地址(而非null)删除数组指针
- 为什么 std::remove 不删除数组的最后一个元素
- 如何使用c++删除数组中的一些值
- 仅删除数组的第一个元素
- 删除数组时断言失败
- 如何并行删除数组中的零值
- 访问指针数组/通过另一个指针并删除数组中的单个元素而不删除第一个指针或整个数组