golfflower

lab7

Nov 26th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 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,k=0;
  13. double *mas, *p, *q, temp;
  14. //что делает прогрмма
  15. cout<<"Данная программа преобразует массив таким образом,"<<endl<<"чтобы элементы, равные нулю, стояли после остальных элементов"<<endl;
  16. //вводим количество элементов
  17. cout<<"Введите количество элементов массива"<<endl;
  18. cin>>n;
  19. //проверяем корректность
  20. if (n>=0)
  21. {
  22. // выделяем память под массив
  23. mas=new double[n];
  24. //заполняем массив
  25. cout<<"Заполните массив"<<endl;
  26. for (p=mas;p-mas<n;p++) cin>>*p;
  27. //выводим заполненный массив на экран
  28. cout<<"Введённый массив:"<<endl;
  29. for (p=mas;p-mas<n;p++) cout<<*p<<" ";
  30. cout<<endl;
  31. //проверяем наличие элементов, равных нулю
  32. for (p=mas;p-mas<n;p++)
  33. if (*p==0) k++;
  34. if (k>0)
  35. {
  36. // пузырьковая сортировка
  37. for (p=mas;p-mas<n;p++)
  38. for (q=mas;q-mas<n-1;q++)
  39. if (*q==0)
  40. {
  41. temp=*q;
  42. *q=*(q+1);
  43. *(q+1)=temp;
  44. }
  45. //выводим преобразованный массив
  46. cout<<"Преобразованный массив:"<<endl;
  47. for (p=mas;p-mas<n;p++) cout<<*p<<" ";
  48. cout<<endl;
  49. }
  50. //если нет элементов, равных нулю, выводим сообщение об этом
  51. else cout<<"В массиве нет элементов, равных нулю"<<endl;
  52. //удаляем из памяти динамический массив
  53. delete [] mas;
  54. }
  55. else cout<<"Данный массив не может быть использован для решения данной задачи"<<endl;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment