Bài 3. Cho xâu ký tự s, các số nguyên dương k và n. Yêu cầu:
Xóa n ký tự của xâu s từ vị trí thứ k
Xóa k vị trí đầu tiên
Xóa n ký tự cuối cùng của xâu s.
Viết bằng c++
Quảng cáo
1 câu trả lời 153
Dưới đây là đoạn code C++ thực hiện ba yêu cầu trên:
Yêu cầu:
Nhập vào xâu ký tự s, số nguyên k và n
Thao tác 1: Xóa n ký tự của s từ vị trí thứ k (lưu ý: tính từ 0 hoặc 1 tùy yêu cầu → ở đây tính từ 1 như người dùng thường nhập)
Thao tác 2: Xóa k ký tự đầu tiên
Thao tác 3: Xóa n ký tự cuối cùng
Code C++:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
int k, n;
// Nhập dữ liệu
cout << "Nhap xau s: ";
getline(cin, s);
cout << "Nhap k: ";
cin >> k;
cout << "Nhap n: ";
cin >> n;
// Bảo vệ: tránh xóa ngoài giới hạn
if (k - 1 >= 0 && k - 1 < s.length()) {
// Xóa n ký tự từ vị trí thứ k (vị trí k - 1 trong C++)
s.erase(k - 1, n);
}
// Xóa k ký tự đầu tiên
if (k <= s.length()) {
s.erase(0, k);
}
// Xóa n ký tự cuối cùng
if (n <= s.length()) {
s.erase(s.length() - n, n);
}
// Xuất kết quả
cout << "Xau sau khi xoa: " << s << endl;
return 0;
}
Ví dụ:
Input:
s = "abcdefghi"
k = 3
n = 2
Thực hiện:
Xóa 2 ký tự từ vị trí 3: "abdefghi"
Xóa 3 ký tự đầu: "efghi"
Xóa 2 ký tự cuối: "efg"
Output:
Xau sau khi xoa: efg
Quảng cáo
Bạn muốn hỏi bài tập?
