1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Задача: Найти сумму элементов массива, расположенных до минимального э

Тема в разделе "Вопросы новичков и не только", создана пользователем INFINITIFXXX, 11 ноя 2010.

Статус темы:
Закрыта.
  1. INFINITIFXXX

    INFINITIFXXX Гость

    Репутация:
    0
    Помогите, пожалуйста, решить задачу:
    дан массив из N элементов (вещественные числа).
    Вычислить:
    сумму элементов массива, расположенных до минимального элемента. Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах.
     
  2. DarkKnight

    DarkKnight Well-Known Member

    Репутация:
    0
    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Еще раз скажу, с т.к. с прошлой темой не растерялся, помогу и с этой... Только завтра, спать очень хочется...
    Попробуй начало проги накидать сам, и запости.... я гляну..
     
  3. DarkKnight

    DarkKnight Well-Known Member

    Репутация:
    0
    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Код:
    /*
    дан массив из N элементов (вещественные числа). 
    Вычислить: 
    сумму элементов массива, расположенных до минимального элемента. Упорядочить по возрастанию отдельно элементы, стоящие на четных местах,
    и элементы, стоящие на нечетных местах. 
    */
    
    /*
    codeby.net
    Autor: DarkKnight125
    */
    
    #include <iostream>
    #include <time.h>
    using namespace std;
    
    void main(void)
    {
    double *Array; //Массив 
    int ArrSize; //Размер массива
    
    setlocale(LC_ALL,"Russian"); // Установим локаль = кодовую страницу CP1251
    srand (time(NULL)); //Инициализация генератора случайно величины
    cout<<"Введите размерность массива Arr : ";
    cin>>ArrSize;
    Array = new double[ArrSize]; //Выделение памяти под массив
    
    cout<<endl<<endl<<"Элементы массива Arr:"<<endl;
    for (int i=0; i<ArrSize; i++)
    {
    Array[i] = double (rand()%10000)/100; //Заполнение элементов массива случайными величинами
    cout<<Array[i]<<" ";
    }
    
    //Нахождение минимального элемента в массиве и его позиции
    double Min = numeric_limits<double>::max(); //Текущий минимум, определим его как максимальное значение double
    int MinPos = -1; //Позиция с минимальным элементом
    for (int i=0; i<ArrSize; i++) //Обойдем массив
    {
    if (Min>Array[i]) //Если Min> текущего элемента 
    {
    Min = Array[i]; //Запишим новое мин. значение.
    MinPos = i; //Запишим позицию
    }
    }
    //Вычисление суммы до мин. элемента
    double Summa = 0; //Сумма до минимального элемента
    for (int i=0; i<MinPos; i++) //Обойдем массив до минимального элемента
    Summa+= Array[i]; //Увеличиваем сумму
    
    //Сортировка четных и ничетных элементов массива
    for (int i=0; i <ArrSize; i+=2) //Обойдем массив с шагом 2
    {
    for (int j=i; j<ArrSize; j+=2) //Обойдем массив с шагом 2 еще раз но от текущего элемента прошлого массива
    {
    int Temp; 
    for (int k = 0; k<2 && (j+2+k)<ArrSize; k++) //Меняем элементы четные и ничетные местами
    {
    if (Array[i+k] > Array[j+2+k])
    {
    Temp = Array[i+k];
    Array[i+k] = Array[j+2+k];
    Array[j+2+k] = Temp;
    }
    }
    
    }
    }
    
    cout<<endl<<"Сумма до минимального элемента : "<<Summa;
    cout<<endl<<endl<<"Отсортированный массив: "<<endl;
    
    //Вывод на экран массива
    for (int i=0; i<ArrSize; i++)
    {
    cout<<Array[i]<<" ";
    }
    
    }
     
  4. INFINITIFXXX

    INFINITIFXXX Гость

    Репутация:
    0
    От всей души благодарю!!! ;)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей