• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

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

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы INFINITIFXXX
  • Дата начала
Статус
Закрыто для дальнейших ответов.
I

INFINITIFXXX

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

DarkKnight

Еще раз скажу, с т.к. с прошлой темой не растерялся, помогу и с этой... Только завтра, спать очень хочется...
Попробуй начало проги накидать сам, и запости.... я гляну..
 
D

DarkKnight

C++:
/*
дан массив из 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]<<" ";
}

}
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!