Задать вопрос
6 апреля, 04:57

C++

Заполнить массив случайными числами в интервале [-100,100] и переставить элементы так, чтобы все положительные элементы стояли в начала массива, а все отрицательные и нули - в конце. Вычислите количество положительных элементов.

+2
Ответы (1)
  1. 6 апреля, 05:22
    0
    Возможно, не самое эффективное решение

    #include

    #include

    #include

    int main ()

    {

    using namespace std;

    const int N = 10;

    int A[N];

    srand (time (0)) ;

    for (int i = 0; i < N; + + i)

    A[i] = rand () % 201 - 100;

    //Вывод исходного массива на экран

    for (int i = 0; i < N; + + i)

    cout << A[i] << " ";

    cout << endl;

    //Подсчитаем количества положительных и отрицательных

    int kpos = 0, kneg = 0;

    for (int i = 0; i < N; i++)

    if (A[i] > 0)

    ++kpos;

    else

    ++kneg;

    int * Apos = new int[kpos];

    int * Aneg = new int[kneg];

    int pos = 0, neg = 0;

    for (int i = 0; i < N; + + i)

    if (A[i] > 0)

    Apos[pos++] = A[i];

    else

    Aneg[neg++] = A[i];

    for (int i = 0; i < N; + + i)

    if (i < kpos)

    A[i] = Apos[i];

    else

    A[i] = Aneg[i - kpos];

    delete[] Apos;

    delete[] Aneg;

    //Вывод полученного массива на экран

    for (int i = 0; i < N; + + i)

    cout << A[i] << " ";

    cout << endl;

    return 0;

    }
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «C++ Заполнить массив случайными числами в интервале [-100,100] и переставить элементы так, чтобы все положительные элементы стояли в начала ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Заполните массив случайными числами в интервале [-100,100] и переставить элементы так, чтобы все положительные элементы стояли в начале массива, а все отрицательные и нули-в конце. Вычислите количество положительных элементов.
Ответы (1)
Во имя радостных мессий, помогите хоть одну задачку. Не шарю ( Дан массив из 15 элементов. Необходимо заполнить его с помощью оператора присваивания (случайными числами), вывести все элементы в строку, а затем вывести произведение всех элементов
Ответы (1)
Решить задачи с помощью Паскаля: 1. Заполнить массив из 10 элементов случайными числами в интервале [0 ... 100] и отсортировать его по последней цифре. 2. Заполнить массив из 10 элементов случайными числами в интервале [0 ...
Ответы (2)
Хотя бы 3-4 задачи! 1) Дан одномерный целочисленный массив размерностью N. Найдите количество элементов, которые кратны 3 (5). 2) Дан одномерный целочисленный массив А, состоящий из N элементов. Найти сумму всех четных элементов массива.
Ответы (1)
1. Дан массив целых чисел из 25 элементов. Заполнить его случайными числами до 50. Найти сумму всех четных элементов массива и их количество. 2. Дан массив целых чисел из 25 элементов. Заполнить его случайными числами от 0 до 50.
Ответы (1)