golfflower

lab6

Nov 19th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 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,m,i,j,l,sum=0,k=0,p1=0,p2=0,q;
  13. double temp;
  14. //что делает программа
  15. cout<<"Данная программа выполняет следующие задачи"<<endl;
  16. cout<<"а) Определяет количество элементов, больших суммы остальных элементов своего столбца "<<endl;
  17. cout<<"б) Упорядочивает строки матрицы в порядке возрастания количества положительных элементов в них"<<endl;
  18. //запрашиваем количество строк и столбцов
  19. cout<<"Введите количестов строк матрицы"<<endl;
  20. cin>>n;
  21. cout<<"Введите количество столбцов матрицы"<<endl;
  22. cin>>m;
  23. //проверяем корректность
  24. if (n>=0 && m>=0 && n<=20 && m<=20)
  25. {
  26. //объявляем массив
  27. double A[20][20];
  28. //заполняем массив
  29. cout<<"Заполните матрицу"<<endl;
  30. for(i=0;i<n;i++)
  31. for(j=0;j<m;j++)
  32. cin>>A[i][j];
  33. //выводим массив на экран
  34. cout<<"Матрица А:"<<endl;
  35. for(i=0;i<n;i++)
  36. {
  37. for(j=0;j<m;j++)
  38. cout<<A[i][j]<<" ";
  39. cout<<endl;
  40. }
  41. //решение задачи а)
  42. for(j=0;j<m;j++)
  43. {
  44. for(i=0;i<n;i++)
  45. sum=sum+A[i][j];
  46. for(l=0;l<n;l++)
  47. if (A[l][j] > sum-A[l][j]) k++;
  48. sum=0;
  49. }
  50. //решение задачи б) (сортировака)
  51. for(q=0;q<n*m;q++)
  52. for(i=0;i<n-1;i++){
  53. for(j=0;j<m;j++)
  54. {
  55. if (A[i][j]>0) p1++;
  56. if (A[i+1][j]>0) p2++;
  57. }
  58. if (p1>=p2)
  59. for(j=0;j<m;j++)
  60. {
  61. temp = A[i][j];
  62. A[i][j]=A[i+1][j];
  63. A[i+1][j]=temp;
  64. }
  65. p1=0;
  66. p2=0;
  67. }
  68. //вывод результатов
  69. cout<<"а) Количество элементов, больших суммы остальных элементов своего столбца: "<<k<<endl;
  70. cout<<"б) Упорядоченная матрица: "<<endl;
  71. for(i=0;i<n;i++)
  72. {
  73. for(j=0;j<m;j++)
  74. cout<<A[i][j]<<" ";
  75. cout<<endl;
  76. }
  77. }
  78. else cout<<"Матрица не может быть использована для решения данных задач"<<endl;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment