Advertisement
golfflower

lab5

Nov 12th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. #include <iostream> //библиотека с простыми манипуляторами
  2. #include <iomanip> //библиотека с параметризированными манипуляторами
  3. #include <math.h> //библиотека с математическими функциями
  4. #include <time.h> //бибилиотека, содержащая функции для работы со временем
  5. using namespace std; //подключение пространства имён
  6.  
  7. int main(void) //главная функция
  8. {
  9. //руссификация консоли
  10. setlocale(LC_ALL, "RUSSIAN");
  11. //переменные
  12. int n,i,j,k=0,ni=-1,maxi=0;
  13. double sum=0,sumabs=0,temp;
  14. //что делает программа
  15. cout<<"Данная программа выполняет следующие задачи:"<<endl;
  16. cout<<"а) Найти количество положительных элементов массива, у которых целая часть кратна 5"<<endl;
  17. cout<<"б) Вычислить среднее арифметическое элементов массива, находящихся после первого отрицательного элемента массива"<<endl;
  18. cout<<"в) Найти сумму модулей элементов массива, расположенных после максимального по модулю элемента"<<endl;
  19. cout<<"г) Упорядочить элементы массива по возрастанию модулей их значений"<<endl;
  20. //запрос количества элементов
  21. cout<<"Введите количество элементов массива"<<endl;
  22. cin>>n;
  23. //проверка корректности данных
  24. if (n>=0) {
  25. // заполнение массива
  26. double mas[n];
  27. cout<<"Заполните массив"<<endl;
  28. for (i=0; i<n; i++)
  29. cin>>mas[i];
  30. //вывод массива на экран
  31. cout<<"Массив: ";
  32. for (i=0; i<n; i++)
  33. cout<<mas[i]<<" ";
  34. cout<<endl;
  35. //выполнение задачи а)
  36. for (i=0; i<n; i++)
  37. if (mas[i]>0 && int(mas[i])%5 == 0)
  38. k++;
  39. //выполнение задачи б)
  40. for (i=0; i<n; i++)
  41. if (mas[i]<0) {
  42. ni=i;
  43. break;}
  44. for (i=ni+1; i<n; i++)
  45. sum=sum+mas[i];
  46. //выполнение задачи в)
  47. for (i=0; i<n; i++)
  48. if (abs(mas[i])>abs(mas[maxi]))
  49. maxi=i;
  50. for (i=maxi+1; i<n; i++)
  51. sumabs=sumabs+abs(mas[i]);
  52. //выполнение задачи г) (пузырьковая сортировка)
  53. for (j=0; j<n; j++)
  54. for ( i=0; i<n-1; i++)
  55. if (abs(mas[i])>abs(mas[i+1])){
  56. temp=mas[i];
  57. mas[i]=mas[i+1];
  58. mas[i+1]=temp;
  59. }
  60. //вывод результатов
  61. //задача а)
  62. cout<<"а) "<<k<<endl;
  63. //проверка наличия отрицательных элементов для задачи б)
  64. if (ni!=-1)
  65. //задача б)
  66. cout<<"б) "<<sum/(n-(ni+1))<<endl;
  67. else cout<<"б) В массиве отсутствуют отрицательные элементы"<<endl;
  68. //задача в)
  69. cout<<"в) " <<sumabs <<endl;
  70. //задача г)
  71. cout<<"г) ";
  72. for (i=0; i<n; i++)
  73. cout<<mas[i]<<" ";
  74. cout<<endl;
  75. }
  76. else cout<<"Данный массив не может быть использован для решения данных задач."<<endl;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement