Здравствуйте! Подскажите пожалуйста! Дан массив
X = -0.0495 -0.4211 -0.3126 0.3862 -0.3063 0.2911 0.0709 0.5000 -0.3722 -0.0995
И границы участков
gr =
-0.4211 -0.1141 0.1929 0.5000
Получается три участка: 1 участок с границами (-0.4211 -0.1141) , второй с границами ( -0.1141 0.1929) и третий ( 0.1929 0.5000 )
Нужно узнать сколько чисел из массива попадает в каждый участок. Количество чисел. Как это сделать? Скажите пожалуйста! Нужно ли разбивать массив gr участки? и если да, то каким образом это делается? Спасибо!
Другие языки программирования и технологии
Матлаб
Если вам нужна программка )) то вот она
Пример C++
#include <iostream>
using namespace std;
int main()
{
float x[10] = {-0.0495, -0.4211, -0.3126, 0.3862, -0.3063, 0.2911, 0.0709, 0.5000, -0.3722, -0.0995};
float gr[4] = {-0.4211, -0.1141, 0.1929, 0.5000};
int index = 0;
for (int y = 0; y < 10; y ++)
{
if (gr[0] <= x[y] && gr[1] >= x[y])
{
index = y;
cout << x[index] << endl;
}
}
cout << "Элемент первой группы с границами (от -0.4211 до -0.1141)" << endl;
cout << endl;
for (int z = 0; z < 10; z ++)
{
if (gr[1] <= x[z] && gr[2] >= x[z])
{
index = z;
cout << x[index] << endl;
}
}
cout << "Элемент второй группы с границами (от -0.1141 до 0.1929)" << endl;
cout << endl;
for (int i = 0; i < 10; i ++)
{
if (gr[2] <= x && gr[3] >= x)
{
index = i;
cout << x[index] << endl;
}
}
cout << "Элемент третьей группы с границами (от 0.1929 до 0.5000)" << endl;
cout << endl;
cin.get();
}
если просто решение то :
в первом участке у вас будет 4 элемента
во втором 3
и в третьем 3
Пример C++
#include <iostream>
using namespace std;
int main()
{
float x[10] = {-0.0495, -0.4211, -0.3126, 0.3862, -0.3063, 0.2911, 0.0709, 0.5000, -0.3722, -0.0995};
float gr[4] = {-0.4211, -0.1141, 0.1929, 0.5000};
int index = 0;
for (int y = 0; y < 10; y ++)
{
if (gr[0] <= x[y] && gr[1] >= x[y])
{
index = y;
cout << x[index] << endl;
}
}
cout << "Элемент первой группы с границами (от -0.4211 до -0.1141)" << endl;
cout << endl;
for (int z = 0; z < 10; z ++)
{
if (gr[1] <= x[z] && gr[2] >= x[z])
{
index = z;
cout << x[index] << endl;
}
}
cout << "Элемент второй группы с границами (от -0.1141 до 0.1929)" << endl;
cout << endl;
for (int i = 0; i < 10; i ++)
{
if (gr[2] <= x && gr[3] >= x)
{
index = i;
cout << x[index] << endl;
}
}
cout << "Элемент третьей группы с границами (от 0.1929 до 0.5000)" << endl;
cout << endl;
cin.get();
}
если просто решение то :
в первом участке у вас будет 4 элемента
во втором 3
и в третьем 3