Помогите правильно добавить условие сортировки от 1 найденного четного числа в массиве до последнего, т.е. -3 5 2 11 19 14 10 9 - сортирует от 2 до 10. Язык с++. Метод сортировки выбором.
void choicesSort(int *mas, const int n)
{
int min = 0;
int buf = 0;
for (int i = 0; i < n; i++)
{
min = i;
for (int j = i + 1; j < n; j++)
min = (mas[j] < mas[min]) ? j : min;
if (i != min)
{
buf = mas[i];
mas[i] = mas[min];
mas[min] = buf;
}
}
}
Полный код:
#include <Windows.h>
#include <cstdio>
#include <conio.h>
#include <ctime>
#include <cstdlib>
void choicesSort(int*, const int);
void Init_Array(const int, int*, const int, const int);
void Print_Array(const int, const int*);
void Work(int*, int);
void main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
system("cls");
int const max_size = 30, const left = -15, const right = 20;
int my_array[max_size];
Init_Array(max_size, my_array, left, right);
printf("Вхідний масив:\n");
Print_Array(max_size, my_array);
printf("\n");
choicesSort(my_array, max_size);
printf("Вихідний масив:\n");
Print_Array(max_size, my_array);
printf("\n");
Work(my_array, max_size);
system("pause");
}
void Init_Array(const int n, int *mas, const int a, const int b)
{
srand(time(0));
for (int i = 0;i<n; i++)
mas[i] = a + rand() % (b - a+1 );
}
void Print_Array(const int n, const int *mas)
{
for (int i = 0; i < n; i++)
printf("%3d", mas[i]);
}
void choicesSort(int *mas, const int n)
{
int min = 0;
int buf = 0;
for (int i = 0; i < n; i++)
{
min = i;
for (int j = i + 1; j < n; j++)
min = (mas[j] < mas[min]) ? j : min;
if (i != min)
{
buf = mas[i];
mas[i] = mas[min];
mas[min] = buf;
}
}
}
void Work(int *mas, int n)
{
int i;
int alph = 0;
float persent;
for (int i = 0; i < n; i++)
{
if (mas[i] > 0)
alph++;
}
persent = (alph / 30.) * 100.;
printf("Відсоток чисел які мають додатнє значення: %5.2f %%\n", persent);
}
l
- индекс первого чётного элементаr
- индекс последнего чётного элементаchoicesSort(mas+l, r-l+1)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, у меня такая проблемаМне нужно узнать число букв в массиве