7.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. int rovs, cols;
  5. // ввод размера матрицы пока размер не будет больше 0
  6. while (true){
  7. cout << "Input rovs of matrix: " << endl;
  8. cin >> rovs;
  9. cout << "Input cols of matrix: " << endl;
  10. cin >> cols;
  11. if ((rovs < 1) || (cols < 1)){
  12. cout << "The size of matrix can't be less than 1." << endl;
  13. cout << "-------------" << endl;
  14. }
  15. else {
  16. cout << "-------------" << endl;
  17. break;
  18. }
  19. }
  20. int **matrix = new int *[rovs];
  21. for (int i = 0; i < rovs; i++){
  22. matrix[i] = new int [cols];
  23. }
  24. int **result_matrix = new int *[rovs];
  25. for (int i = 0; i < rovs; i++){
  26. result_matrix[i] = new int [cols];
  27. }
  28. cout << "Input matrix's elements: " << endl;
  29. for (int i = 0; i < rovs; i++){
  30. for (int j = 0; j < cols; j++){
  31. cin >> matrix[i][j];
  32. }
  33. }
  34. cout << "-------------" << endl;
  35. for (int i = 0; i < rovs; i++){
  36. for (int j = 0; j < cols; j++){
  37. cout << matrix[i][j] << "\t";
  38. }
  39. cout << endl;
  40. }
  41. cout << "-------------" << endl;
  42. // заполнение изменённой матрицы
  43. for (int i = 0; i < rovs; i++){
  44. for (int j = 0; j < cols; j++){
  45. result_matrix[i][j] = matrix[i][j];
  46. if (i + j == (rovs - 1)){
  47. result_matrix[i][j] = 100;
  48. }
  49. }
  50. }
  51. // вывод изменённой матрицы
  52. for (int i = 0; i < rovs; i++){
  53. for (int j = 0; j < cols; j++){
  54. cout << result_matrix[i][j] << "\t";
  55. }
  56. cout << endl;
  57. }
  58. for (int i = 0; i < rovs; i++){
  59. delete[] matrix[i];
  60. delete[] result_matrix[i];
  61. }
  62. delete[] matrix;
  63. delete[] result_matrix;
  64. return 0;
  65. }