Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- float findMinPos(float* p, int n) {
- int imin;
- int min = p[0]; //принимаем 1-й элемент за минимальный
- for (int i = 0; i < n; i++) // поиск
- if (p[i] < min) //минимального
- {
- min = p[i]; //элемента
- imin = i;
- }
- return imin;
- }
- float findMin(float* p, int n) {
- int min = p[0]; //принимаем 1-й элемент за минимальный
- for (int i = 0; i < n; i++) // поиск
- if (p[i] < min) //минимального
- {
- min = p[i]; //элемента
- }
- return min;
- }
- float findFirstSubZero(float* p, int n) {
- float ibeg = NULL;
- for (int i = 0; i < n; i++) //поиск
- if (p[i] < 0) //первого
- {
- ibeg = i; //отрицательного
- break; //элемента
- }
- if (ibeg != NULL) {
- return ibeg;
- }
- else
- {
- return NULL;
- }
- }
- float findSecondSubZero(float* p, int n, int ibeg) {
- int iend = NULL;
- for (int i = ibeg + 1; i < n; i++) //поиск
- if (p[i] < 0) //второго
- {
- iend = i; //отрицательного
- break; //элемента
- }
- if (iend != NULL) {
- return iend;
- }
- else {
- return NULL;
- }
- }
- void moduleNotExceedOne(float* p, int n) {
- for (int i = 0; i < n; i++) //поиск
- if (fabs(p[i]) <= 1) //элементов
- { //модуль которого не превышает 1
- cout << p[i] << ' '; //вывод массива
- }
- }
- int main(int argc, char* argv[])
- {
- setlocale(LC_ALL, "Russian");
- int i, n, ibeg = 0, iend = 0; //объявление
- float min = 0, sum = 0; //переменных
- cout << "Введите размерность n=";
- cin >> n; //ввод размерности массива
- cout << "Введите элементы массива:" << endl << endl;
- float* p = new float[n]; // объявление массива
- for (i = 0; i < n; i++)cin >> p[i]; //ввод массива
- cout << "\nМинимальный элемент: " << findMin(p, n) << endl; //вывод элемента
- cout << "Позиция минимального элемента: " << findMinPos(p, n) + 1 << endl; //вывод номера элемента
- ibeg = findFirstSubZero(p, n);
- iend = findSecondSubZero(p, n, ibeg);
- for (i = ibeg + 1; i < iend; i++)sum += p[i]; //суммирование элементов
- cout << "\nСумма элементов расположенных между 1 и 2 отрицательными элементами: " << sum; //вывод суммы
- cout << "\nПреобразованный массив:" << endl << endl;
- moduleNotExceedOne(p, n);
- for (i = 0; i < n; i++)
- if (fabs(p[i]) > 1)
- {
- cout << p[i] << ' '; //вывод всех остальных элементов массива
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement