编辑代码

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

void fillArray(int arr[], int size, int a, int b) {
    srand(time(0));
    for (int i = 0; i < size; i++) {
        arr[i] = a + rand() % (b - a + 1);
    }
}

int main() {
    const int size = 10;
    int arr[size];
    fillArray(arr, size, 1, 100);

    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }

    return 0;
}
```

---

**Функция для ввода одномерного массива с клавиатуры:**

```cpp
#include <iostream>
using namespace std;

void inputArray(int arr[], int size) {
    for (int i = 0; i < size; i++) {
        cout << "Введите элемент " << i + 1 << ": ";
        cin >> arr[i];
    }
}

int main() {
    const int size = 5;
    int arr[size];
    inputArray(arr, size);

    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }

    return 0;
}
```

---

**Функция для вывода массива с индексами элементов:**

```cpp
#include <iostream>
using namespace std;

void printArrayWithIndexes(int arr[], int size) {
    for (int i = 0; i < size; i++) {
        cout << "Индекс " << i << ": " << arr[i] << endl;
    }
}

int main() {
    const int size = 5;
    int arr[size] = {10, 20, 30, 40, 50};
    printArrayWithIndexes(arr, size);

    return 0;
}
```

---

**Перегруженная функция для вывода массива с разделителями:**

```cpp
#include <iostream>
using namespace std;

void printArray(int arr[], int size, char delimiter = ' ') {
    for (int i = 0; i < size; i++) {
        cout << arr[i];
        if (i < size - 1) {
            cout << delimiter;
        }
    }
    cout << endl;
}

int main() {
    const int size = 5;
    int arr[size] = {1, 2, 3, 4, 5};

    printArray(arr, size);          // По умолчанию пробел
    printArray(arr, size, '\t');    // Табуляция
    printArray(arr, size, '\n');    // Перевод строки между элементами

    return 0;
}
```

---

**Функция для вычисления суммы S:**

```cpp
#include <iostream>
#include <cmath>
using namespace std;

double calculateSum(int arr[], int size) {
    double sum = 0;
    for (int i = 0; i < size; i++) {
        sum += 1.0 / (1 + abs(arr[i]));
    }
    return sum;
}

int main() {
    const int size = 5;
    int arr[size] = {1, -2, 3, -4, 5};
    cout << "Сумма S = " << calculateSum(arr, size) << endl;

    return 0;
}
```

---

**Функция для удвоения элементов массива:**

```cpp
#include <iostream>
using namespace std;

void doubleElements(int arr[], int size) {
    for (int i = 0; i < size; i++) {
        arr[i] *= 2;
    }
}

int main() {
    const int size = 5;
    int arr[size] = {1, 2, 3, 4, 5};

    doubleElements(arr, size);

    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }

    return 0;
}
```

---

**Функция для суммы двух массивов:**

```cpp
#include <iostream>
using namespace std;

void sumArrays(int arr1[], int arr2[], int result[], int size) {
    for (int i = 0; i < size; i++) {
        result[i] = arr1[i] + arr2[i];
    }
}

int main() {
    const int size = 5;
    int arr1[size] = {1, 2, 3, 4, 5};
    int arr2[size] = {5, 4, 3, 2, 1};
    int result[size];

    sumArrays(arr1, arr2, result, size);

    for (int i = 0; i < size; i++) {
        cout << result[i] << " ";
    }

    return 0;
}
```

---

Если вам нужны функции для двумерных массивов (Задание 2) или трёхмерных массивов (Задание 3), дайте знать!