删除重复的字母 - 单词更正
Removing duplicate letters-Word correction
我编写了代码,将检查前两个字母是否相同,它将删除一个字母并更正单词。 但它不起作用有什么问题?
char word[4];
int i;
cout<<"Enter Word:";
for(i=0;i<5;i++) cin>>word[i];
for(int y=0;y<5;y++){
if(word[i]==word[i+1]){
for(int k=y;k<5;k++){
word[i]=word[i+1];
}
for(int g=0;g<5;g++)
cout<<word[i];
}
}
行:
if(word[i]==word[i+1]){
需要:
if(word[y]==word[y+1]){
事实上,几乎所有对i
的引用都需要对适当的循环变量进行引用。
此外,大多数文字5
都需要改为4
。 (您希望循环访问值 0、1、2 和 3。 您不想访问word[4]
(它不存在)。
最后,该行:
for(int y=0;y<5;y++){
应该是:
for(int y=0;y<3;y++){
因为您要访问word[y+1]
你不需要循环到数组的末尾。 你需要去到最后一个之前的地方。
您还需要将索引中的 i 更改为循环。
char word[4];
int i;
cout<<"Enter Word:";
for(i=0;i<5;i++)
cin>>word[i];
for(int y=0;y<4;y++){
if(word[y]==word[y+1]){
for(int k=y;k<4;k++){
word[k]=word[k+1];
}
for(int g=0;g<5;g++)
cout<<word[g];
}
}
相关文章:
- 如何使用Qt删除单词中的表行
- 当我不关心顺序并且没有重复项时,更快的擦除删除成语?
- 从之前添加的批处理文件中删除单词
- C++读取大文件并将其保存到字符串中,然后删除特定的随机单词
- 将一个字符替换为字符串中更多数量的字符,而不删除C++中的其他字母
- 为什么擦除+删除比删除更有效
- 从文件中删除单词列表的最快方法
- 如何使我的单词查找更清晰、更高效
- 更好的方法? 新指针,需要删除吗?
- 删除数组成员的更好方法是什么?
- 从字符数组中删除单词
- 删除 C++ 中字符串中第一个单词之前的空格
- 防止将临时传递为常量引用的方法,该方法比删除 r 值重载更好地缩放
- 如何删除句子 c++ 中的整个单词
- 在C 中的单词之间删除除一个空间以外的所有空间
- 删除包含单词的行
- 删除标头中用作函数参数的"primitive"类型前面的"const"是否更好?
- 从连续包含 3 个元音字母的一组单词中删除单词
- 从随机单词中删除重复的字符
- 从使用sstream读取的单词中删除最后一个空格的最佳方法