Advertisement
SteelK

Untitled

May 12th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.16 KB | None | 0 0
  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.     unsigned int a = 0, min;
  9.     in_dlina--;
  10.     min = abs(abs(in_mas[1]) - abs(in_mas[0]));
  11.     for (unsigned 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. int *novmas(int *in_mas, int min, unsigned int in_dlina, int *size_nm) {
  20.     cout << "!" << min << endl;
  21.     int *number_mas = new int[in_dlina];
  22.     for (unsigned int i = 0; i < in_dlina; i++) {
  23.         if (in_mas[i] < min) {
  24.             number_mas[*size_nm] = i;
  25.             (*size_nm)++;
  26.         }
  27.     }
  28.     return number_mas;
  29. }
  30.  
  31. void mascin(int *in_mas, unsigned int size) {
  32.     cout << "Введите каждый элемент массива" << endl;
  33.     for (unsigned int i = 0; i < size; i++) {
  34.         cout << "mas[" << i << "] = ";
  35.         cin >> in_mas[i];
  36.     }
  37. }
  38.  
  39.  
  40. void masrand(int *in_mas, unsigned int size) {
  41.     for (unsigned int i = 0; i < size; i++) {
  42.         in_mas[i] = rand() % 10 - 5;
  43.         cout << "mas[" << i << "] = " << in_mas[i] << endl;
  44.     }
  45. }
  46.  
  47.  
  48. int* creat_mas(unsigned int size) {
  49.     int *mas = new int[size];
  50.     char answer;
  51.     cout << "Вводить ли значения элементов массива(1) или задавать их рандомно(2)? (1/2)" << endl;
  52.     while (true) {
  53.         cin >> answer;
  54.         if (answer == '1' || answer == '2')
  55.             break;
  56.         else
  57.             cout << "Ошибка, повторите ввод...\n";
  58.     }
  59.  
  60.     if (answer == '1')
  61.         mascin(mas, size);
  62.     else
  63.         masrand(mas, size);
  64.     return mas;
  65. }
  66.  
  67.  
  68. void newmas(int*& mas, unsigned int& size) {
  69.  
  70.     cout << "Введите длину массива..." << endl;
  71.     cin >> size;
  72.     while (!size) {
  73.         cout << "Ошибка, введите повторно..." << endl;
  74.         cin >> size;
  75.     }
  76.     mas = creat_mas(size);
  77. }
  78.  
  79. int main() {
  80.     setlocale(0, "");
  81.     srand(time(NULL));
  82.     unsigned int size;
  83.     int* mas;
  84.     newmas(mas, size);
  85.     int size_nm = 0;
  86.     int *number_mas = novmas(mas, min_rasnost_modul(mas, size), size, &size_nm);
  87.     for (unsigned int i = 0; i < size_nm; i++)
  88.     {
  89.         cout << number_mas[i] << endl;
  90.     }
  91.  
  92.     delete[] number_mas;
  93.     delete[] mas;
  94.     return 0;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement