Добавил:
AiSora
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные / Лаб3
.cpp#include <iostream>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
int i, j, a[100], min[10], raz=0, kol=0, mod, m, n;
float sum[10];
srand (time(NULL));
cout << "Введите интервал чисел: " << endl;
cin >> m >> n;
cout << endl << "Исходный массив:" << endl;
for (i = 0; i < 10; i++) //Заполнение масства с помощью счетчика случайных чисел и последующий его вывод на экран
{
for (j = 0; j < 10; j++)
{
a[10 * i + j] = rand() % (n-m+1) + m;
cout << a[10 * i + j] << "\t";
}
cout << "\n";
}
for (i = 0; i < 10; i++) //Нахождение минимума и среднего арифметического в каждом десятке
{
min[i] = a[10*i];
sum[i] = a[10*i];
for (j = 1; j < 10; j++)
{
sum[i] += a[10 * i + j];
if (min[i] > a[10 * i + j])
min[i] = a[10 * i + j];
}
sum[i] = sum[i] / 10;
}
for (i = 9; i > 0; i--) //Сортировка методом "пузырька" минимумов в каждом десятке по возрастанию
for (j = 0; j < i; j++)
{
if (min[j] > min[j + 1])
{
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
cout << "Минимумы по десяткам: \n \n";
for (i = 1; i < 100; i++) //Нахождение количества цепочек, состоящих из 10 элементов, где соседние элементы отличаются на 1
{
mod = abs(a[i - 1] - a[i]);
if (mod == 1)
raz++;
else
raz = 0;
if (raz >= 10)
kol++;
}
for (i = 0; i < 10;i++) //Вывод минимумов на экран
cout << min[i] << endl;
cout << endl << "Количество цепочек равно \n \n" << kol << endl;
cout << endl << "Вывод в обратном порядке элементов массива"<< endl;
for (i = 9; i > 0; i--) //Вывод в обратном порядке элементов массива, превышающих среднее арифметическое десятка
{
cout << endl;
for (j = 9; j > 0; j--)
if (a[10 * i + j] > sum[i])
cout << a[10 * i + j] << " ";
}
cout << endl << endl;
system("pause");
}
Соседние файлы в папке Лабораторные