Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <ctime>
- using namespace std;
- int main()
- {
- setlocale(LC_ALL, "rus");
- srand(time(0));
- int const SIZE = 100;
- int a[SIZE], n, sw;
- char repeat; // Для повтора программы
- do {
- cout << "Введите размер массива" << endl;
- cin >> n;
- cout << "Выберите способ заполнения массива\n 1) Рандомное заполнение \n 2) Заполнение с клавиатуры" << endl;
- cin >> sw;
- switch (sw) {
- case 1:
- for (int i = 0; i < n; i++)
- {
- a[i] = rand() % 100 - 50; // заполнение массива числами интервала [-50 до 50]
- cout << a[i] << " "; // вывод элементов массива
- }
- cout << endl;
- break;
- case 2:
- cout << "Введите элементы массива" << endl;
- for (int i = 0; i < n; i++)
- {
- cin >> a[i]; // Заполнение массива с клавиатуры
- }
- break;
- default:
- return 0;
- }
- // Сумма модулей элементов массива после наименьшего по модулю элемента массива
- int minValueIndex = 0; // Инициализируем
- for (int i = 1; i < n; i++) // Прогоняем все элементы в массиве
- if (abs(a[minValueIndex]) > abs(a[i])) // Если мин.элемент больше какого-либо следующего элемента - обновляем
- minValueIndex = i; // Сохраняем новую позицию минимального по модулю элемента в массиве
- int sum = 0;
- for (int i = minValueIndex + 1; i < n; i++) // Идем по числам, которые находятся справа от мин.по модулю элемента массива
- sum += abs(a[i]); // Суммируем модули элементов массива после минимального элемента массива
- cout << "Сумма модулей элементов массива, расположенных после минимального по модулю элемента: \n" << sum << endl;
- cout << "Повторить?\n Y(y)-Да \n Else - Нет" << endl;
- cin >> repeat;
- } while ((repeat == 'Y') || (repeat == 'y'));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement