UCHEES.RU - помощь студентам и школьникам

C++ Заполнить массив случайными числами в интервале [-100,100] и переставить элементы...


В 16:11 поступил вопрос в раздел Информатика, который вызвал затруднения у обучающегося.

Вопрос вызвавший трудности

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

Ответ подготовленный экспертами Учись.Ru

Для того чтобы дать полноценный ответ, был привлечен специалист, который хорошо разбирается требуемой тематике "Информатика". Ваш вопрос звучал следующим образом:

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

После проведенного совещания с другими специалистами нашего сервиса, мы склонны полагать, что правильный ответ на заданный вами вопрос будет звучать следующим образом:

Возможно, не самое эффективное решение
#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] << "  ";<br>    cout << endl;<br>
    //Подсчитаем количества положительных и отрицательных
    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] << "  ";<br>    cout << endl;<br>    return 0;
}


-------------------



НЕСКОЛЬКО СЛОВ ОБ АВТОРЕ ЭТОГО ОТВЕТА:

Работы, которые я готовлю для студентов, преподаватели всегда оценивают на отлично. Я занимаюсь написанием студенческих работ уже более 4-х лет. За это время, мне еще ни разу не возвращали выполненную работу на доработку! Если вы желаете заказать у меня помощь оставьте заявку на этом сайте. Ознакомиться с отзывами моих клиентов можно на этой странице.

Полякова Гелана Рудольфовна - автор студенческих работ, заработанная сумма за  прошлый месяц 52 536 рублей. Её работа началась с того, что она просто откликнулась на эту вакансию

ПОМОГАЕМ УЧИТЬСЯ НА ОТЛИЧНО!

Выполняем ученические работы любой сложности на заказ. Гарантируем низкие цены и высокое качество.

Деятельность компании в цифрах:

Зачтено оказывает услуги помощи студентам с 1999 года. За все время деятельности мы выполнили более 400 тысяч работ. Написанные нами работы все были успешно защищены и сданы. К настоящему моменту наши офисы работают в 40 городах.

РАЗДЕЛЫ САЙТА

Ответы на вопросы - в этот раздел попадают вопросы, которые задают нам посетители нашего сайта. Рубрику ведут эксперты различных научных отраслей.

Полезные статьи - раздел наполняется студенческой информацией, которая может помочь в сдаче экзаменов и сессий, а так же при написании различных учебных работ.

Красивые высказывания - цитаты, афоризмы, статусы для социальных сетей. Мы собрали полный сборник высказываний всех народов мира и отсортировали его по соответствующим рубрикам. Вы можете свободно поделиться любой цитатой с нашего сайта в социальных сетях без предварительного уведомления администрации.

ЗАДАТЬ ВОПРОС

НОВЫЕ ОТВЕТЫ

ПОХОЖИЕ ВОПРОСЫ