8.14.8
15.04.2022
JS: 2.14.23
CSS: 4.9.13
jQuery: 3.6.0
DataForLocalStorage: 2022-05-26 15:46:14-standard
Программирование Компьютеры Операционные системы Мобильные телефоны
Создание программ на языках C и C++.
#include <iostream> #include <cmath> using namespace std; void Input(float *a, int size) { for (int i=0; i<size; i++) cin >> a[i]; } int IndexOfMin(float *a, int size) { int index; float min = a[0]; for (int i=1; i<size; i++) if (a[i]<min) min = a[index=i]; return index; } int IndexOfNegative(float *a, int size) { for (int i=0; i<size; i++) if (a[i]<0) return i; return 0; } float Sum(float *a, int start, int end) { float sum = 0; for (int i=start+1; i<end; i++) sum += a[i]; return sum; } void OutputLess(float *a, int size, float max) { for (int i=0; i<size; i++) if (fabs(a[i])<max) cout << a[i] << ' '; } void OutputMore(float *a, int size, float min) { for (int i=0; i<size; i++) if (fabs(a[i])>min) cout << a[i] << ' '; } int main(int argc, char* argv[]) { setlocale(LC_ALL, "Russian"); int n; cout << "Введите размерность n="; cin >>n; // ввод размерности массива cout << "Введите элементы массива:" << endl; float *p=new float[n]; // объявление массива Input(p, n); // ввод массива int imin = IndexOfMin(p, n); cout << "\nМинимальный элемент: " << p[imin] << endl; //вывод элемента cout << "\nПозиция минимального элемента: " << imin+1 << endl;//вывод номера элемента int ibeg = IndexOfNegative(p, n); // поиск первого отрицательного элемента int iend = ibeg + IndexOfNegative(p+ibeg+1, n-ibeg-1) + 1; // поиск второго отрицательного элемента float sum = Sum(p, ibeg, iend); // суммирование элементов cout << "\nСумма элементов расположенных между 1 и 2 отрицательными элементами: " << sum; //вывод суммы cout << "\nПреобразованный массив:" << endl << endl; OutputLess(p, n, 1); // вывод поиск элементов модуль которого не превышает 1 OutputMore(p, n, 1); // вывод всех остальных элементов массива return 0; }
#include <locale.h> #include <iostream.h> #include <conio.h> #include <math.h> int minel(int n, float *p, float &minmas) { // поиск минимального элемента int i, m; m = 0; for(i = 0; i < n; i++) if (p[i] < p[m]) m = i; // поиск минимального элемента minmas = p[m]; return m; } unsigned char minus12 (int n, float *p, int &m1, int &m2) { // поиск номеров первых двух отрицательных элементов int i; m1 = -1; m2 = -1; for(i = 0; i < n; i++) if (p[i] < 0) { if (m1 >= 0) {m2 = i; return 1;} m1 = i; } return 0; } float sum12(float *p, int m1, int m2) { float sum = 0; int i; for(i = m1 + 1; i < m2; i++) sum += p[i]; return sum; } void reorg(int n, float *p, float m) { // вывод элементов массива сначала по модулю <m, потом остальных. int i; cout << "\nBывод элементов массива сначала по модулю <" << m <<", потом остальных" << endl; for(i = 0; i < n; i++) if(fabs(p[i]) < m) cout << p[i] << " "; // элементы по модулю <m for(i = 0; i < n; i++) if(fabs(p[i]) >= m) cout << p[i] << " "; // элементы по модулю >=m } void massin(int n, float *p) { // ввод массива int i; cout << "\nВведите элементы массива:" << endl; for(i = 0; i < n; i++) cin >> p[i]; } int main(int argc, char* argv[]) { clrscr(); // очистка экрана setlocale(LC_ALL, "Russian"); int n, ibeg, iend; // объявление float minmas; // переменных cout << "Введите размерность n = "; cin >> n; // ввод размерности массива float *p = new float[n]; // объявление массива massin(n, p); cout << "\nПозиция минимального элемента: " << minel(n, p, minmas) + 1; // вывод номера элемента cout << "\nМинимальный элемент: " << minmas << endl; // вывод элемента if (minus12(n, p, ibeg, iend) == 1) { // суммирование элементов cout << "\nСумма элементов расположенных между " << ibeg +1 << " и " << iend +1 << " элементами <0: " << sum12(p, ibeg, iend) << endl; // вывод суммы } else cout << "\nВ массиве два отрицательных элемента не найдено" << endl; reorg(n, p, 1); return 0; }
Последнее редактирование 04.03.2022, 22:24 Megaloman (Мастер-Эксперт)
Нет сообщений в мини-форуме
|