C++. Добавь в код следующее: Введенный элемент массива не может быть 0 и меньше нуля.
#include<iostream>
#include<limits>
using namespace std;

// Функция, которая определяет опорный элемент и разделяет (разбивает) массив
int partition(int arr[], int low, int high){ // low, high - левая и правая границы соответственно 
    int pivot = arr[high]; // Опорным элементом выбираем последний элемент
    int i = low - 1; // i - индекс элемента, который меньше опорного элемента

    // Проходим по всем элементам массива
    for(int j = low; j < high; j++){ 
        if(arr[j] < pivot){ // Если текущий элемент меньше опорного, меняем его местами с предыдущим
            i++; // Увеличиваем индекс элемента, который меньше опорного элемента
            swap(arr[i], arr[j]); // Меняем местами текущий элемент и элемент, меньший опорного элемента
        }
    }

    swap(arr[i+1], arr[high]); // Меняем местами опорный элемент и элемент, следующий за последним элементом меньшим опорного
    return i+1; // Возвращаем индекс опорного элемента
}

// Функция быстрой сортировки
void quickSort(int arr[], int low, int high){
    if(low < high){
        int p = partition(arr, low, high); // Определяем опорный элемент и разделяем массив на две части
        quickSort(arr, low, p-1); // Рекурсивно (вызов функции из неё же самой) вызываем функцию для первой части массива
        quickSort(arr, p+1, high); // Рекурсивно вызываем функцию для второй части массива
    }
}

int main(){
    int n;

    cout<<"Введите размер массива: ";

    // Проверка на число
    while(!(cin >> n)){
        cout << "Введите корректный размер массива: ";

        // Очистка потока ввода в случае, если введено нечисловое значение
        cin.clear(); 
        cin.ignore(numeric_limits<streamsize>::max(), '\n'); // пропускаем все символы до конца строки
    }

    int arr[n];

    cout << "\nВведите элементы массива:\n";
    for (int i = 0; i < n; i++) {
        cout << "Элемент массива №" << i+1 << ": ";
        
        while(!(cin >> arr[i])) {
            cout << "Введите корректный элемент массива №" << i+1 << ": ";

            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(), '\n');
        }
    }

    quickSort(arr, 0, n-1); // Вызываем функцию быстрой сортировки

    // Выводим отсортированный массив
    cout<<"\nОтсортированный массив: ";
    for(int i=0;i<n;i++){
        cout<<arr[i]<<" ";
    }

    return 0;
}