chào mn code em ra sai kq ạ mn giúp em với ạ
Đề bài :
Bài 2: Xâu đúng (5 điểm)
Viết chương trình nhập từ bàn phím một xâu kí tự, trong đó, nếu tính từ trái sang phải thì kí tự # là dấu hiệu xóa đi một kí tự đứng ngay trước nó (nếu có). Sau đó in ra màn hình xâu đã sửa theo đúng qui định.
Ví dụ:
‘Ta#oi di thi hoc sinua#h###nh gioi tin hoj#c THCS’ có nghĩa là ‘Toi di thi hoc sinh gioi tin hoc THCS’
Dữ liệu: Nhập từ bàn phím một xâu kí tự cần sửa.
Kết quả: In ra màn hình xâu đã sửa.
CODE :
#include <bits/stdc++.h>
using namespace std;
void xoa(char str[], int &n, int vitri)
{
for (int i=vitri;i<n-1;i++)
str[i] = str[i+1];
n--;
}
int main()
{
ifstream fi;
fi.open("SUAXAU.INP");
char str[100];
fi.getline(str,100);
int n = strlen(str);
for (int i=0;i<n;i++) {
if (str[i]=='#') {
xoa(str,n,i);
xoa(str,n,(i-1));
}
}
ofstream fo ("SUAXAU.OUT");
for (int i=0;i<n;i++) fo <<str[i];
fo.close();
fi.close();
return 0;
}