Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
12.02.2018
Размер:
1.92 Кб
Скачать
#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");
}
Соседние файлы в папке Лабораторные