Advertisement
Dimique

Untitled

Jun 18th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.25 KB | None | 0 0
  1. #include<iostream>
  2. #include<stdlib.h>
  3. using namespace std;
  4. const int RAZ = 10; //предельный размер массива
  5. typedef int telem; //определение типа элементов массива
  6.  
  7. typedef telem tmas[RAZ]; //определение типа массива
  8. void inputmas(tmas, int); // заполнение массива вручную
  9. void outputmas(const tmas, int); // вывод массива
  10. void poisk(tmas, int, int&, telem&); // ищем максимальный отрицательный элемент
  11.  
  12. int main()
  13. {
  14.     setlocale(LC_ALL, "Russian");
  15.     tmas a; //массив
  16.     int m; // размер массива
  17.     int flag; // флаг
  18.     telem pr;
  19.     //Ввод исходных данных
  20.     cout << "\n Введете размеры массивов A<= " << RAZ << " : ";
  21.     cin >> m;
  22.     //Контроль ввода размера массива
  23.     if (m > RAZ || m <= 0)
  24.     {
  25.         cout << " Введены недопустимые значения размеров массивов" << endl;
  26.         system("pause");
  27.         return 1;
  28.     }
  29.     //Ввод исходных массива A
  30.     inputmas(a, m);
  31.     //Вывод исходных массива A
  32.     cout << " Исходный массив A:" << endl;
  33.     outputmas(a, m);
  34.     // ищем максимальный отрицательный элемент и возвогдим все элементы до этого в квадрат
  35.     poisk(a, m, flag,pr);
  36.     if (pr < 0) {
  37.         cout << "\n" << " номер максимального отрицательногоэлемента в массиве(отсчет от 0) " << flag << "\n";
  38.         // Выводим измененный масив
  39.         cout << "\n" << " возводим элементы предшествующие максимальному отрицательному в квадрат " << "\n";
  40.         outputmas(a, m);
  41.     }
  42.     else
  43.     {
  44.         cout << "\n" << "нет отрицательного элемента " << "\n";
  45.     }
  46.     system("pause");
  47.     return 0;
  48. }
  49.  
  50. //Ввод исходного массива
  51. void inputmas(tmas a, int m)
  52. {
  53.     cout << " Введите в одной строке элементы массива, состоящего из " << m;
  54.     cout << "\n чисел, и нажмите <Enter>" << endl;
  55.     for (int i = 0; i < m; i++)
  56.         cin >> a[i];
  57. }
  58.  
  59. //Вывод массива
  60. void outputmas(const tmas a, int n)
  61. {
  62.     for (int i = 0; i < n; i++)
  63.     {
  64.         cout.width(4); //ширина поля для вывода значения элемента массива
  65.         cout << a[i] << " ";
  66.     }
  67.     cout << "\n";
  68. }
  69.  
  70. void poisk(tmas a, int n, int &flag,telem &pr)
  71. {
  72.     flag = 0;
  73.     pr = 0;
  74.     for (int i = 0; i < n; i++) // ищем номер максимального отрицательного элемента
  75.     {
  76.         if (a[i] < pr)
  77.         {
  78.             pr = a[i];
  79.             flag = i;
  80.         }
  81.     }
  82.     if (pr < 0)
  83.     {
  84.         for (int i = 0; i < flag; i++) // элементы до максимального отрицательного возводим в квадрат
  85.         {
  86.             a[i] = a[i] * a[i];
  87.         }
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement