30/09/2018, 18:34

Code nhập vào 1 xâu và 1 kí tự cần xóa bị sai

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<ctype.h>
using namespace std;
main()
{
	char a[25],b;
	int i,n,k;
	cout<<"Nhap vao chuoi: "<<endl;
	gets(a);
	cout<<"Nhap vao ki tu can xoa: "<<endl;
	cin>>b;
	n=strlen(a);
	for(i=0;i<n;i++)
		{
		if(a[i]==b)
			{	k=i;
				for(i=k;i<n;i++)
				a[i]=a[i+1];
				n--;}
	}
			
		for(i=0;i<n;i++)	cout<<a[i];
}
Bi-Clever viết 20:45 ngày 30/09/2018

nếu mình nhập xâu là trần quốc toản. nhập kí tự cần xóa là t thì nó chỉ xóa chữ t đầu tiên thôi

X viết 20:42 ngày 30/09/2018
for(int i=0; i<n; i++){
        if(a[i] == b){
            for(int j=i; j<n; j++){
                a[j] = a[j+1];
            }
            n--;
            break;
        }
    }
Bi-Clever viết 20:40 ngày 30/09/2018

mình cảm ơn nha…chỗ kia là continue chứ…với cho mình hỏi là :

if(a[i]==b)
			{	k=i;
				for(i=k;i<n;i++)
				a[i]=a[i+1];
				n--;}

chỗ này việc gán k=i của mình có gì sai k?

Bài liên quan
0