吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3345|回复: 37
收起左侧

[求助] c++删除制定下标的数组元素

[复制链接]
小白之神111 发表于 2019-11-6 23:18
本帖最后由 小白之神111 于 2019-11-6 23:19 编辑

是这样的,我看我们老师给我们的代码,看出了问题。但是没办法解决。代码很简单,所以我相信大神们肯定一眼就看出来了,帮帮忙,怎么解决这个问题?


代码如下:
[C++] 纯文本查看 复制代码

#include <iostream>using namespace std;
int main()
{
        int a[10]={1,4,7,10,13,16,19,22,25,28};
        int i,location;
        for(i=0;i<10;i++)
                cout<<a[i]<<' ';
        cout<<endl;
        cout<<"请输入删除元素的位置(下标):";
        cin>>location;
        for(i=location;i<=8;i++)
                a[i]=a[i+1];
        for(i=0;i<9;i++)
                cout<<a[i]<<' ';
        cout<<endl;        
        return 0;
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

luanshils 发表于 2019-11-6 23:34
本帖最后由 luanshils 于 2019-11-6 23:37 编辑

这个语法,我看看,
我总觉得循环截止应该用数组的长度,
毕竟你是从查询的位置,依次将后一个元素移到前面
 楼主| 小白之神111 发表于 2019-11-6 23:39
本帖最后由 小白之神111 于 2019-11-6 23:41 编辑
luanshils 发表于 2019-11-6 23:34
这个语法,我看看,
我总觉得循环截止应该用数组的长度,
毕竟你是从查询的位置,依次将后一个元素移到前 ...

对 但是这个代码的意思就是要删除指定下标的元素。可是这个代码并不能从根本解决问题。大神。你能明白我在说什么吗。帮帮忙。看看怎么解决
luanshils 发表于 2019-11-6 23:42
for(i=location;i<=8;i++)
                a[i]=a[i+1];
你的结果图呢
 楼主| 小白之神111 发表于 2019-11-6 23:44

大神。代码是正确的。你可能没明白我是什么意思。我的意思是。如果我删除最后一个元素会怎么样。你明白吗?
luanshils 发表于 2019-11-6 23:45
本帖最后由 luanshils 于 2019-11-6 23:48 编辑
小白之神111 发表于 2019-11-6 23:44
大神。代码是正确的。你可能没明白我是什么意思。我的意思是。如果我删除最后一个元素会怎么样。你明白吗 ...

嗯,那你就再设定一个,当下标为末尾的时候
你们学链表了吗
 楼主| 小白之神111 发表于 2019-11-6 23:48
luanshils 发表于 2019-11-6 23:45
嗯,那你就再设定一个,当下标为末尾的时候

对。所以我的问题就是。如果我删除最后一个元素。并不能真正删除。你看到的只是由循环变量控制的。真正的最后一个元素依然在那里没动。如何解决这个问题?
 楼主| 小白之神111 发表于 2019-11-6 23:50
luanshils 发表于 2019-11-6 23:45
嗯,那你就再设定一个,当下标为末尾的时候
你们学链表了吗

没用的。即使你再怎么赋值都不能删除最后一个元素。所以这就是问题所在。怎么解决
luanshils 发表于 2019-11-6 23:51
就直接判断if location为最末的9的时候干啥呗,然后数组刚学有一个缺陷,就是他不能随意更改大小,要等学到后面的内容才行,一般是赋0
hafeng45 发表于 2019-11-6 23:52
你的意思是这段代码运行到最后,数组依然是10个元素,且最后两个元素相等,只是最后显示的时候仅显示前9个元素,看上去像删除了指定元素,但实际上并没有达到从数组中删除元素的效果,对吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 00:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表