С++. Пример работы программы на изображении.
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <algorithm>
#include <iterator>
#include <clocale>
#include <vector>
#define UINT unsigned int
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int N = 20;
const int K = 13;
if(K >= N || K < 0) {
cout << "Ошибка! Выход за прееделы массива";
return 1;
}
double *Arr = new double[N];
/*ЗАПОЛЕНИНЕ МАССИВА СЛУЧАЙНЫМИ ЧИСЛАМИ*/
srand((UINT)time(NULL));
generate(Arr, Arr + N, []() { return rand() % 91 + 10; });
/*ВЫВОД НА ЭКРАН ИЗНАЧАЛЬНОГО МАССИВА*/
cout << "Исходный массив:" << endl;
copy(Arr, Arr + N, ostream_iterator<int>(cout, " "));
cout << endl;
/*УДАЛЕНИЕ ЭЛЕМЕНТА k*/
vector<double> bufer(Arr, Arr + N);
bufer.erase(bufer.begin() + K);
Arr = (double*)realloc(Arr, sizeof(Arr[0])*(--N));
copy(bufer.begin(), bufer.end(), Arr);
/*ВЫВОД НА ЭКРАН КОНЕЧНОГО МАССИВА*/
cout << "Результирующий массив массив:" << endl;
system("pause");
return 0;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace avg_sort
{
class Program
static void Main(string[] args)
const int N = 10;
int[] Arr = new int[N];
Random rand = new Random();
Console.Write("Исходный массив: ");
for (int k = 0; k < N; ++k)
Arr[k] = rand.Next() % 100;
Console.Write("{0} ", Arr[k]);
Console.WriteLine();
double avg = Arr.Average();
int[] Bufer = new int[N];
int i = 0, j = N - 1;
Console.WriteLine("Среднее значение по массиву Avg = {0}", avg);
if (Arr[k] > avg)
Bufer[i] = Arr[k];
i++;
} else
Bufer[j] = Arr[k];
j--;
Arr = Bufer;
Console.Write("Отсортированный массив: ");
foreach (var el in Arr)
Console.Write("{0} ", el);
С++. Пример работы программы на изображении.
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <algorithm>
#include <iterator>
#include <clocale>
#include <vector>
#define UINT unsigned int
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int N = 20;
const int K = 13;
if(K >= N || K < 0) {
cout << "Ошибка! Выход за прееделы массива";
return 1;
}
double *Arr = new double[N];
/*ЗАПОЛЕНИНЕ МАССИВА СЛУЧАЙНЫМИ ЧИСЛАМИ*/
srand((UINT)time(NULL));
generate(Arr, Arr + N, []() { return rand() % 91 + 10; });
/*ВЫВОД НА ЭКРАН ИЗНАЧАЛЬНОГО МАССИВА*/
cout << "Исходный массив:" << endl;
copy(Arr, Arr + N, ostream_iterator<int>(cout, " "));
cout << endl;
/*УДАЛЕНИЕ ЭЛЕМЕНТА k*/
vector<double> bufer(Arr, Arr + N);
bufer.erase(bufer.begin() + K);
Arr = (double*)realloc(Arr, sizeof(Arr[0])*(--N));
copy(bufer.begin(), bufer.end(), Arr);
/*ВЫВОД НА ЭКРАН КОНЕЧНОГО МАССИВА*/
cout << "Результирующий массив массив:" << endl;
copy(Arr, Arr + N, ostream_iterator<int>(cout, " "));
cout << endl;
system("pause");
return 0;
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace avg_sort
{
class Program
{
static void Main(string[] args)
{
const int N = 10;
int[] Arr = new int[N];
Random rand = new Random();
Console.Write("Исходный массив: ");
for (int k = 0; k < N; ++k)
{
Arr[k] = rand.Next() % 100;
Console.Write("{0} ", Arr[k]);
}
Console.WriteLine();
double avg = Arr.Average();
int[] Bufer = new int[N];
int i = 0, j = N - 1;
Console.WriteLine("Среднее значение по массиву Avg = {0}", avg);
for (int k = 0; k < N; ++k)
{
if (Arr[k] > avg)
{
Bufer[i] = Arr[k];
i++;
} else
{
Bufer[j] = Arr[k];
j--;
}
}
Arr = Bufer;
Console.Write("Отсортированный массив: ");
foreach (var el in Arr)
{
Console.Write("{0} ", el);
}
Console.WriteLine();
}
}
}