SaveText.Ru

lab 4 2
  1.  
  2. #include "stdafx.h"
  3. #include <iostream>
  4. #include <stdlib.h>
  5. #include <time.h>
  6. #include <locale.h>
  7.  
  8. using namespace std;
  9.  
  10. int main()
  11.  
  12. {
  13.  
  14.         setlocale(0, "");
  15.  
  16.         srand(time(null));
  17.  
  18.         int i, N, d, b;
  19.  
  20.         cout << "Введите размер массива: ";
  21.  
  22.         cin >> N;
  23.         if (N <= 0)
  24.         {
  25.                 cout << " N<=0 Error"<<endl;
  26.                 system("pause");
  27.                 return 0;
  28.  
  29.  
  30.         }
  31.  
  32.         int* A = new int[N];
  33.         bool AP = true;
  34.         cout << "Сгенерировать массив или ввести вручную? Введите 1 или 0 соответственно:";
  35.         cin >> b;
  36.         if (b == 1)
  37.         {
  38.                 cout <<endl<< "Сгенерированный массив A[N]:" << endl;
  39.  
  40.                 for (i = 0; i < N; i++)
  41.  
  42.                 {
  43.  
  44.                         *(A + i) = rand() % 201 - 100;
  45.                         cout << "A[" << i << "]=" << *(A + i) << "; ";
  46.  
  47.                 }
  48.  
  49.         }
  50.         else if (b == 0)
  51.         {
  52.                 cout << endl;
  53.                 for (i = 0; i < N; i++)
  54.  
  55.                 {
  56.                         cout << "Введите A[" << i << "]:";
  57.                         cin >> *(A + i);
  58.  
  59.                 }
  60.  
  61.                 for (i = 0; i < N; i++)
  62.                 {
  63.                         cout << "A[" << i << "]=" << *(A + i) << "; ";
  64.  
  65.                 }
  66.         }
  67.         else
  68.         {
  69.                 cout << "Ошибка! Вы ввели не 1 и не 0" << endl;
  70.                 system("pause");
  71.                 return(0);
  72.  
  73.         }
  74.         d = *(A)-*(A + 1);
  75.         for (i = 1; i < (N - 1); i++)
  76.         {
  77.                 if ((d) == (*(A + i) - *(A + (i + 1))))
  78.                 {
  79.                 }
  80.                 else
  81.                 {
  82.                         AP = false;
  83.                 }
  84.         }
  85.         if (AP)
  86.         {
  87.                 cout << endl<<endl << "Разность ариф.прогрессии d= " << -d << endl;
  88.         }
  89.         else
  90.         {
  91.  
  92.                 cout << endl<<endl << "Элементы массива не образуют ариф. прогрессию " << endl;
  93.  
  94.         }
  95.         cout << endl << "Вывод адресов ТОЛЬКО отрицательных элементов массива:" << endl;
  96.         for (i = 0; i < N; i++)
  97.         {
  98.  
  99.                 if (*(A + i) < 0)
  100.                 {
  101.  
  102.                         cout << *(A + i) << "[" << i << "] адрес " << (A + i) << endl;
  103.  
  104.                 }
  105.  
  106.         }
  107.         delete[]A;
  108.         system("pause");
  109.         return 0;
  110.  
  111. }

Share with your friends:

Print