Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. setlocale(LC_ALL, "rus");
  8. srand(time(0));
  9. int const SIZE = 100;
  10. int a[SIZE], n, sw;
  11. char repeat; // Для повтора программы
  12. do {
  13. cout << "Введите размер массива" << endl;
  14. cin >> n;
  15. cout << "Выберите способ заполнения массива\n 1) Рандомное заполнение \n 2) Заполнение с клавиатуры" << endl;
  16. cin >> sw;
  17. switch (sw) {
  18. case 1:
  19. for (int i = 0; i < n; i++)
  20. {
  21. a[i] = rand() % 100 - 50; // заполнение массива числами интервала [-50 до 50]
  22. cout << a[i] << " "; // вывод элементов массива
  23. }
  24. cout << endl;
  25. break;
  26.  
  27. case 2:
  28. cout << "Введите элементы массива" << endl;
  29. for (int i = 0; i < n; i++)
  30. {
  31. cin >> a[i]; // Заполнение массива с клавиатуры
  32. }
  33. break;
  34.  
  35. default:
  36. return 0;
  37. }
  38. // Сумма модулей элементов массива после наименьшего по модулю элемента массива
  39.  
  40. int minValueIndex = 0; // Инициализируем
  41. for (int i = 1; i < n; i++) // Прогоняем все элементы в массиве
  42. if (abs(a[minValueIndex]) > abs(a[i])) // Если мин.элемент больше какого-либо следующего элемента - обновляем
  43. minValueIndex = i; // Сохраняем новую позицию минимального по модулю элемента в массиве
  44.  
  45. int sum = 0;
  46. for (int i = minValueIndex + 1; i < n; i++) // Идем по числам, которые находятся справа от мин.по модулю элемента массива
  47. sum += abs(a[i]); // Суммируем модули элементов массива после минимального элемента массива
  48.  
  49. cout << "Сумма модулей элементов массива, расположенных после минимального по модулю элемента: \n" << sum << endl;
  50.  
  51. cout << "Повторить?\n Y(y)-Да \n Else - Нет" << endl;
  52. cin >> repeat;
  53. } while ((repeat == 'Y') || (repeat == 'y'));
  54. return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement