Блог для маленьких школьников и их родителей
ШколаЛа

Написать программу на языке С++ для создания динамического массива A[N] , заполнить массив с помощью…

Автор:
Предмет: Информатика
Уровень: студенческий

Написать программу на языке С++ для создания динамического массива A[N] , заполнить массив с помощью генератора случайных чисел (получение случайного числа в интервале [a,b] оформить как функцию (а=-30,b =30)). Полученный массив перезаписать, удалив из него все элемент(ы) значение которых кратно 3 -м.

Перезапись оформить как функцию. Для перезаписи использовать вспомогательный второй массив не разрешается.

Ответов к вопросу: 1
  • leviakova
    25.09.2024 | 11:42

    #include <iostream>
    #include <cstdlib> // для работы с функцией rand()
    #include <ctime> // для работы с функцией time()

    using namespace std;

    const int N = 10; // размер массива
    const int a = -30; // нижняя граница интервала
    const int b = 30; // верхняя граница интервала

    int* createArray(int n)
    {
    int* arr = new int[n]; // выделяем память под массив

    // заполняем массив случайными числами
    for (int i = 0; i < n; i++)
    arr[i] = a + rand() % (b — a + 1);

    return arr;
    }

    void filterArray(int* arr, int& n)
    {
    int i = 0;
    while (i < n)
    {
    if (arr[i] % 3 == 0) // если элемент кратен 3
    {
    // сдвигаем все элементы справа от текущего на одну позицию влево
    for (int j = i; j < n — 1; j++)
    arr[j] = arr[j + 1];
    n—; // уменьшаем размер массива
    }
    else
    i++; // переходим к следующему элементу
    }
    }

    int main()
    {
    srand(time(0)); // инициализируем генератор случайных чисел

    int* arr = createArray(N); // создаем и заполняем массив

    filterArray(arr, N); // удаляем элементы, кратные 3

    // выводим
    массив на экран
    for (int i = 0; i < N; i++)
    cout << arr[i] << » «;
    cout << endl;

    delete[] arr; // освобождаем выделенную память

    return 0;

    (
    Обратите внимание, что в функции `filterArray` мы изменяем размер массива `n`, поэтому мы передаем его в функцию по ссылке.

    Также обратите внимание, что функция `createArray` возвращает указатель на выделенную память, поэтому нужно освободить ее с помощью оператора `delete[]` в конце программы.)

Ответить на вопрос:
:p :-p 8) 8-) :lol: =( :( :-( :8 ;) ;-) :(( :o:
Нажимая на кнопку я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.