#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
void task218()
{
/*218. В массиве записана информация о росте каждого из 25 учеников класса(в порядке убывания роста).
Из класса выбыли два ученика.Получить новый массив с упорядоченными в том же порядке данными о росте оставшихся учеников
*/cout << "Task 218" << endl;
const int sz = 25;
int arr[sz];
srand(time(NULL));
cout << "Рост учеников: \n";
for (int i = 0; i < sz; i++)
{
arr[i] = rand() % 51 + 150;
}
for (int i = 0; i < sz; i++)
{
cout << arr[i] << " ";
}
cout << endl;
for (int j = 0; j < sz; j++)
{
for (int i = 0; i < sz - 1 - j; i++)
{
if (arr[i + 1] > arr[i])
{
int gz = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = gz;
}
}
}
for (int i = 0; i < sz; i++)
{
cout << arr[i] << " ";
}
cout << endl;
int first = 0, second = 0;
cout << "Введите номера учеников которые выбыли: ";
cin >> first >> second;
while (first == 0&&first>25)
{
first = 0;
if (!(cin >> first))
{
cin.clear();
cin.ignore(65535, '\n');
}
} while (second == 0&&second>25)
{
second = 0;
if (!(cin >> second))
{
cin.clear();
cin.ignore(65535, '\n');
}
}
arr[first - 1] = { 0 };
arr[second - 1] = { 0 };
for (int i = 0; i < sz; i++)
{
int fw = arr[i + 1];
arr[i + 1] = arr[i + 2 - 1];
arr[i + 2 - 1] = fw;
}
int t = 0;
for (int i = 0; i < sz; i++)
{
if (arr[i] == 0)
t++;
else
cout << arr[i] << " ";
}
cout << endl;
}
void task230()
{
cout << "\nTask 230" << endl;
const int N = 6;
long double a=0, sum1 = 1, sum2 = 0, chisl = 0, summa = 0, q=0, MAS2[N];
int MAS[N], l = 0;
for (int i = 0; i < N; i++)
{
cout << "Введите " << i + 1 << " знаменатель из " << N << " элементов" << endl;
a = 0;
while (a == 0)
{
if (!(cin >> a))
{
cin.clear();
cin.ignore(65535, '\n');
}
}
if (a == 0)
{
a = 1;
cout << "знаменатель не может быть равен 0, значение установлено на 1.\n";
}
MAS[i] = a;
cout << "Введите " << i + 1 << " числитель из " << N << " элементов" << endl;
q = 0;
while (q == 0)
{
if (!(cin >> q))
{
cin.clear();
cin.ignore(65535, '\n');
}
}
MAS2[i] = q;
}
for (int i = 0; i < N; i++)
{
cout << "Дробь: " << MAS2[i] << " / " << MAS[i] << endl;
}
cout << endl;
cout << ":::Умножение знаменателей дробей.." << endl;
for (int i = 0; i < N; i++)
{
sum1 = sum1 * MAS[i];
}
cout << "Общий знаменатель дробей: " << sum1 << endl;
cout << endl;
for (int i = 0; i < N; i++)
{
MAS2[i] = (int)(sum1 / MAS2[i]);
cout << "Дробь:" << MAS2[i] << "/" << sum1 << endl;
}
cout << endl;
cout << "Элементы в порядке возрастания: " << endl;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N - 1; j++)
{
if (MAS2[j] > MAS2[j + 1])
{
swap(MAS2[j], MAS2[j + 1]);
}
}
}
for (int i = 0; i < N; i++)
{
cout << MAS2[i] << " / " << sum1 << endl;
}
}
void task219()
{
cout << "Task 219" << endl;
int massive[50], n = 0, g = 0, h = 0,l=0;
while (n == 0)
{
cout << "введите число n : ";
if (!(cin >> n))
{
cin.clear();
cin.ignore(65535, '\n');
}
}
while (g == 0)
{
cout << "введите число n1 : ";
if (!(cin >> g))
{
cin.clear();
cin.ignore(65535, '\n');
}
}while (h == 0)
{
cout << "введите число n2 : ";
if (!(cin >> h))
{
cin.clear();
cin.ignore(65535, '\n');
}
}
for (int i = 0; i < 50; i++)
{
massive[i] = -20 + rand() % 50;
cout << massive[i] << endl;
}
cout << "очищенный массив который удовлетворяет требованиям : " << endl;
for (int i = 0; i < 50; i++)
{
if ((massive[i] < 0) || (massive[i] > n) || ((massive[i]) > g) && (massive[i] < h))
{
massive[i] = 0;
}
if (massive[i] != 0)
cout << massive[i] << " ";
else
l++;
/*if (massive[i] == 0)
cout << "удаленный элемент\n";
else
cout << massive[i]<<endl;*/
//cout << massive[i] << endl;
}
cout << endl << "количество пропущенных элементов : " << l;
}
int main()
{
setlocale(LC_ALL, "Rus");
task218();
task219();
task230();
}