| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 176 人关注过本帖
标题:谁帮我改下删除数字的程序!
收藏  订阅  推荐  打印
xiaxiang1986
Rank: 1
等级:新手上路
帖子:23
积分:446
注册:2008-3-16
谁帮我改下删除数字的程序!

目的:从输入的一组数字中删除指定的数字后再显示删除后的数字
问题:当删除连续的数字,如1,2,3,4,2,删除2,显示1,3,4 这个是正确的,但是1,2,2,2,2,删除2,显示的是1,2。请帮指点下那里出问题了,谢谢!我感觉是输出函数i<=MAX-m;范围有问题,但改成i<MAX-m;还是有问题!

include <iostream>
#include <iomanip>
#include <cstdio>
#define MAX 5
int flag=0,m=0;
using namespace std;
void read(int dt[])
{
     int i;
     cout<<"please enter data:\n";
     for(i=0;i<MAX;i++)
     cin>>dt[i];
     }
void delet(int dt[],int del)
{ int i,j;
  for(i=0;i<MAX;i++)
  {
   if(del==dt[i])
   { flag=1;
     ++m;
     for(j=i;j<MAX-m;j++)
     dt[j]=dt[j+1];
     }
     continue;
     cout<<"\ndeleted ok!";
     }
     
     if(flag==0)
     cout<<"NO found!";
     }
void list (int dt[])
{ int i;
  if(flag==0)
  for(i=0;i<MAX;i++)
cout<<setw(5)<<dt[i];
  else
  for(i=0;i<MAX-m;i++)
  cout<<setw(5)<<dt[i];
}
int main()

{  int data[MAX],del;
   read(data);
   cout<<"Org data:\n";
   list(data);
   cout<<"\nplease input delete data:\n";
   cin>>del;
   delet(data,del);
   cout<<"\ndata after delete: \n";
   list(data);
   system("pause");
   return 0;
}
2008-9-18 16:52
sunlu8hao
Rank: 1
等级:新手上路
帖子:7
积分:200
注册:2008-5-20

void delet(int dt[],int del)
{ int i,j;
  for(i=0;i<MAX;i++)
  {
   if(del==dt[i])
   { flag=1;
     ++m;
     for(j=i;j<MAX-m;j++)//这里可以看出  只要有连续两个(或以上)一样的del
     dt[j]=dt[j+1];     //你就删除不干净
     }
     continue;
     cout<<"\ndeleted ok!";
     }
     
     if(flag==0)
     cout<<"NO found!";
     }
2008-9-18 17:20
sunlu8hao
Rank: 1
等级:新手上路
帖子:7
积分:200
注册:2008-5-20

并且你没考虑整个数组的数字都是你想要删除的
2008-9-18 17:27
xiaxiang1986
Rank: 1
等级:新手上路
帖子:23
积分:446
注册:2008-3-16

没有给我指点改正下的?

呵呵!
2008-9-18 19:41
共有 175 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.047484 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved