View difference between Paste ID: bt7GuH7f and 0UjMKhwN
SHOW: | | - or go back to the newest paste.
1
#include <iostream>
2
#include <cstdlib>
3
#include <ctime>
4
5
using namespace std;
6
7
int min_rasnost_modul(int *in_mas, unsigned int in_dlina) {
8
	int a=0,min=0;
9
          in_dlina--;
10
	min=abs(abs(in_mas[1])-abs(in_mas[0]));
11
	for ( int i = 1; i <in_dlina; i++) {
12
		a=abs(abs(in_mas[i + 1])-abs(in_mas[i]));
13
		if (a<=min)
14
			min=a;
15
	}
16
	return min;
17
}
18
19
20
void mascin(int *in_mas, unsigned int size)
21
{
22
	cout << "Введите каждый элемент массива" << endl;
23
	for (unsigned int i = 0; i < size; i++)
24-
		cout << "Ошибка при вводе" << endl;
24+
25
		cout << "mas[" << i << "] = ";
26
		cin >> in_mas[i];
27
	}
28
}
29
30
31
void masrand(int *in_mas, unsigned int size)
32
{
33
	for (unsigned int i = 0; i < size; i++)
34
	{
35
		in_mas[i] = rand() % 10 - 5;
36
		cout << "mas[" << i << "] = " << in_mas[i] << endl;
37
	}
38
}
39
40
41
int* creat_mas(unsigned int size)
42
{
43
	int *mas = new int[size];
44
	char answer;
45
	cout << "Вводить ли значения элементов массива(1) или задавать их рандомно(2)? (1/2)" << endl;
46
	while (true)
47
	{
48
		cin >> answer;
49
		if (answer == '1' || answer == '2')
50
			break;
51
		else
52
			cout << "Ошибка, повторите ввод...\n";
53
	}
54
55
	if (answer == '1')
56
		mascin(mas, size);
57
	else
58
		masrand(mas, size);
59
	return mas;
60
}
61
62
63
void newmas(int*& mas, unsigned int& size) {
64
65
	cout << "Введите длину массива..." << endl;
66
	cin >> size;
67
	while (!size)
68
	{
69
		cout << "Ошибка, введите повторно..." << endl;
70
		cin >> size;
71
	}
72
	mas = creat_mas(size);
73
}
74
75
int main() {
76
		setlocale(0, "");
77
	srand(time(NULL));
78
	unsigned int size;
79
	int* mas;
80
	newmas(mas, size); 
81
	
82
83
84
	cout << "Минимальная разность модулей = " << min_rasnost_modul(mas, size) << endl;
85
	delete[] mas;
86
87
	return 0;
88
}