C++里面,怎么在一个一维数组里面删除一个数?
voidDele_info(intn,Phonebookpb[],intm)//删除{chart3[15];cout<<"请输入要删除的记录的姓名或电话号码:";cin>...
void Dele_info (int n,Phonebook pb [],int m)//删除
{
char t3 [15];
cout << "请输入要删除的记录的姓名或电话号码:";
cin >> t3;
for (int i=0;i<n+m;i++)
{if ((strcmp (pb [i].name,t3)==0)||(strcmp (pb [i].tel,t3)==0))
strcpy (pb [i].name,pb [i-1].name);
strcpy (pb [i].tel,pb [i-1].tel);
}
}
帮我把这个改下吧 展开
{
char t3 [15];
cout << "请输入要删除的记录的姓名或电话号码:";
cin >> t3;
for (int i=0;i<n+m;i++)
{if ((strcmp (pb [i].name,t3)==0)||(strcmp (pb [i].tel,t3)==0))
strcpy (pb [i].name,pb [i-1].name);
strcpy (pb [i].tel,pb [i-1].tel);
}
}
帮我把这个改下吧 展开
4个回答
展开全部
一维数组删除某数
代码如下:
#include
using namespace std;
int main()
{
int num, i ;
int a[11] = {2, 34, 54, 223, 87, 5, 9, 33, 57, 12, 42} ;
for(i=0 ; i<11 ; i++)
{
cout<<" "<
}
cout<
cout<<"print number:" ;
cin>>num ;
int j ;
for (i=0,j=0 ; i<11 ; i++)
{
a[j] = a[i] ;
if (a[i] != num)
{
j ++ ;
}
}
if (i == j)
{
cout<<"no"<
}
else
{
for (i=0 ; i
{
cout<<" "<
}
cout<
}
return 0 ;
}
展开全部
void Dele_info (int n,Phonebook pb [],int m)//删除
{
char t3 [15];
cout << "请输入要删除的记录的姓名或电话号码:";
cin >> t3;
for (int i=0;i<n+m;i++)
{if ((strcmp (pb [i].name,t3)==0)||(strcmp (pb [i].tel,t3)==0))
strcpy (pb [i].name,pb [n+m-1].name);//用最后一个数据覆盖掉要删除的信息
strcpy (pb [i].tel,pb [n+m-1].tel);
n--;//(或者m--)不知道你的n和m是干嘛的,此举目的是让数组大小减一,
break;
}
}
{
char t3 [15];
cout << "请输入要删除的记录的姓名或电话号码:";
cin >> t3;
for (int i=0;i<n+m;i++)
{if ((strcmp (pb [i].name,t3)==0)||(strcmp (pb [i].tel,t3)==0))
strcpy (pb [i].name,pb [n+m-1].name);//用最后一个数据覆盖掉要删除的信息
strcpy (pb [i].tel,pb [n+m-1].tel);
n--;//(或者m--)不知道你的n和m是干嘛的,此举目的是让数组大小减一,
break;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a[100]; ///假设要删掉 a[39]
for(int i=(39+1)); i<(100-1); i++)
{
a[i]=a[i+1];
}
从 a[39] 后后面的 依次移到前面
for(int i=(39+1)); i<(100-1); i++)
{
a[i]=a[i+1];
}
从 a[39] 后后面的 依次移到前面
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
using namespace std;
int main()
{
int num, i ;
int a[11] = ;
for(i=0 ; i<11 ; i++)
{
cout<<" "<<a[i] ;
}
cout<<endl ;
cout<<"print number:" ;
cin>>num ;
int j ;
for (i=0,j=0 ; i<11 ; i++)
{
a[j] = a[i] ;
if (a[i] != num)
{
j ++ ;
}
}
if (i == j)
{
cout<<"no"<<endl ;
}
else
{
for (i=0 ; i<j ; i++)
{
cout<<" "<<a[i] ;
}
cout<<endl ;
}
return 0 ;
}
using namespace std;
int main()
{
int num, i ;
int a[11] = ;
for(i=0 ; i<11 ; i++)
{
cout<<" "<<a[i] ;
}
cout<<endl ;
cout<<"print number:" ;
cin>>num ;
int j ;
for (i=0,j=0 ; i<11 ; i++)
{
a[j] = a[i] ;
if (a[i] != num)
{
j ++ ;
}
}
if (i == j)
{
cout<<"no"<<endl ;
}
else
{
for (i=0 ; i<j ; i++)
{
cout<<" "<<a[i] ;
}
cout<<endl ;
}
return 0 ;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询