dạ mọi người cho e hỏi, ở hàm chen ấy ạ em muốn chèn phần tử vào mảng ban đầu khi chưa qua hàm sắp xếp thì làm như nào ạ. Em thấy toàn chèn phần tử vào mảng đã qua sắp xếp!!
#include<iostream>
using namespace std;
void nhap(int arr[], int &n) {
do{
cout << "Nhap vao so nguyen n (1 <= n <= 20): ";
cin >> n;
if(n < 1 || n > 20) {
cout << "\nn khong hop le, vui long nhap lai!!" << endl;
}
}while(n < 1 || n > 20);
cout << "Nhap vao mang so nguyen A[] co " << n << " phan tu: ";
for(int i = 0; i < n; i++) {
cin >> arr[i];
}
}
void xuat(int arr[], int n) {
cout << "Mang vua nhap la: ";
for(int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
}
void sapxep(int arr[], int n) {
for (int i = 0; i < n; i++) {
for (int j = i+1; j < n; j++) {
if(arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
cout << "\nMang A[] theo chieu tang dan la: ";
for(int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
}
void chen(int arr[], int n, int k, int x) {
cout << "\nNhap so nguyen x: "; cin >> x;
do{
cout << "nhap so nguyen k (1 <= k <= n): ";
cin >> k;
if(k < 1 || k > n) {
cout << "\nk khong hop le, vui long nhap lai!!" << endl;
}
}while(k < 1 || k > n);
for (int i = n; i >= k+1; i--) {
arr[i] = arr[i-1];
}
arr[k] = x;
n++;
cout << "Day moi khi chen la: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
}
int main() {
int n, k, x;
int arr[1000];
nhap(arr, n);
xuat(arr, n);
sapxep(arr, n);
chen(arr, n, k, x);
return 0;
}