Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- int min_rasnost_modul(int *in_mas, unsigned int in_dlina) {
- int a = 0, min;
- in_dlina--;
- min = abs(abs(in_mas[1]) - abs(in_mas[0]));
- for (unsigned int i = 1; i < in_dlina; i++) {
- a = abs(abs(in_mas[i + 1]) - abs(in_mas[i]));
- if (a <= min)
- min = a;
- }
- return min;
- }
- int *novmas(int *in_mas, int min, unsigned int in_dlina, int *size_nm) {
- int size_nm_buf = *size_nm;
- int *number_mas = new int[in_dlina];
- unsigned int j = 0;
- for (unsigned int i = 0; i < in_dlina; i++) {
- if (in_mas[i] < min) {
- number_mas[j] = i;
- j++;
- size_nm_buf++;
- }
- }
- *size_nm = size_nm_buf;
- return number_mas;
- }
- void mascin(int *in_mas, unsigned int size) {
- cout << "Введите каждый элемент массива" << endl;
- for (unsigned int i = 0; i < size; i++) {
- cout << "mas[" << i << "] = ";
- cin >> in_mas[i];
- }
- }
- void masrand(int *in_mas, unsigned int size) {
- for (unsigned int i = 0; i < size; i++) {
- in_mas[i] = rand() % 10 - 5;
- cout << "mas[" << i << "] = " << in_mas[i] << endl;
- }
- }
- int* creat_mas(unsigned int size) {
- int *mas = new int[size];
- char answer;
- cout << "Вводить ли значения элементов массива(1) или задавать их рандомно(2)? (1/2)" << endl;
- while (true) {
- cin >> answer;
- if (answer == '1' || answer == '2')
- break;
- else
- cout << "Ошибка, повторите ввод...\n";
- }
- if (answer == '1')
- mascin(mas, size);
- else
- masrand(mas, size);
- return mas;
- }
- void newmas(int*& mas, unsigned int& size) {
- cout << "Введите длину массива..." << endl;
- cin >> size;
- while (!size) {
- cout << "Ошибка, введите повторно..." << endl;
- cin >> size;
- }
- mas = creat_mas(size);
- }
- int main() {
- setlocale(0, "");
- srand(time(NULL));
- unsigned int size;
- int* mas;
- newmas(mas, size);
- int size_nm = 0;
- int *number_mas = novmas(mas, min_rasnost_modul(mas, size), size, &size_nm);
- //cout << "!size_nm = " << size_nm << endl;
- for (int i = 0; i < size_nm; i++)
- {
- cout << number_mas[i] << endl;
- }
- delete[] number_mas;
- delete[] mas;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement