Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<stdlib.h>
- using namespace std;
- const int RAZ = 10; //предельный размер массива
- typedef int telem; //определение типа элементов массива
- typedef telem tmas[RAZ]; //определение типа массива
- void inputmas(tmas, int); // заполнение массива вручную
- void outputmas(const tmas, int); // вывод массива
- void poisk(tmas, int, int&, telem&); // ищем максимальный отрицательный элемент
- int main()
- {
- setlocale(LC_ALL, "Russian");
- tmas a; //массив
- int m; // размер массива
- int flag; // флаг
- telem pr;
- //Ввод исходных данных
- cout << "\n Введете размеры массивов A<= " << RAZ << " : ";
- cin >> m;
- //Контроль ввода размера массива
- if (m > RAZ || m <= 0)
- {
- cout << " Введены недопустимые значения размеров массивов" << endl;
- system("pause");
- return 1;
- }
- //Ввод исходных массива A
- inputmas(a, m);
- //Вывод исходных массива A
- cout << " Исходный массив A:" << endl;
- outputmas(a, m);
- // ищем максимальный отрицательный элемент и возвогдим все элементы до этого в квадрат
- poisk(a, m, flag,pr);
- if (pr < 0) {
- cout << "\n" << " номер максимального отрицательногоэлемента в массиве(отсчет от 0) " << flag << "\n";
- // Выводим измененный масив
- cout << "\n" << " возводим элементы предшествующие максимальному отрицательному в квадрат " << "\n";
- outputmas(a, m);
- }
- else
- {
- cout << "\n" << "нет отрицательного элемента " << "\n";
- }
- system("pause");
- return 0;
- }
- //Ввод исходного массива
- void inputmas(tmas a, int m)
- {
- cout << " Введите в одной строке элементы массива, состоящего из " << m;
- cout << "\n чисел, и нажмите <Enter>" << endl;
- for (int i = 0; i < m; i++)
- cin >> a[i];
- }
- //Вывод массива
- void outputmas(const tmas a, int n)
- {
- for (int i = 0; i < n; i++)
- {
- cout.width(4); //ширина поля для вывода значения элемента массива
- cout << a[i] << " ";
- }
- cout << "\n";
- }
- void poisk(tmas a, int n, int &flag,telem &pr)
- {
- flag = 0;
- pr = 0;
- for (int i = 0; i < n; i++) // ищем номер максимального отрицательного элемента
- {
- if (a[i] < pr)
- {
- pr = a[i];
- flag = i;
- }
- }
- if (pr < 0)
- {
- for (int i = 0; i < flag; i++) // элементы до максимального отрицательного возводим в квадрат
- {
- a[i] = a[i] * a[i];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement