Advertisement
Guest User

Untitled

a guest
May 28th, 2015
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.39 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <fstream>
  4.  
  5. using namespace std;
  6.  
  7. //везде n - столбцы, а m - строки
  8. void fill_arr(int **arr, int n, int m);
  9.  
  10. void print_arr(int **arr, int n, int m);
  11.  
  12. void process(int **a, int n, int m, int k, int &n1, int &m1);
  13.  
  14. void toFile(int **arr, int n, int m);
  15.  
  16. int main() {
  17.     int **a; //массив
  18.     int n = 5; //количество столбцов
  19.     int m = 4; //количество строк
  20.     a = new int *[m];
  21.     for (int i = 0; i < m; i++) {
  22.         a[i] = new int[n];
  23.     }
  24.  
  25.     fill_arr(a, n, m);
  26.     print_arr(a, n, m);
  27.  
  28.     int row = 2;
  29.     int n1;
  30.     int m1;
  31.     process(a, n, m, row, n1, m1);
  32.     cout << "n (count) = " << n1 << " m (sum) = " << m1 << endl;
  33.  
  34.     toFile(a, n, m);
  35.     for (int i = 0; i < m; i++) {
  36.         delete[] a[i];
  37.     }
  38.     delete[] a;
  39.     return 0;
  40. }
  41.  
  42. //заполнение матрицы, где n - столбцы, а m - строки
  43. void fill_arr(int **arr, int n, int m) {
  44.  
  45.     for(int i=0;i<n;i++){
  46.         arr[0][i] = 0;
  47.     }
  48.     for (int i = 0; i < m; i++)
  49.         arr[i][0] = i;
  50.     for (int i = 1; i < m; i++)
  51.         for (int j = 1; j < n; j++) {
  52.             arr[i][j] = arr[i][j - 1] + j;
  53.         }
  54. }
  55.  
  56. //печать матрицы, n - столбцы, m - строки
  57. void print_arr(int **arr, int n, int m) {
  58.     for (int i = 0; i < m; i++) {
  59.         for (int j = 0; j < n; j++)
  60.             cout <<setw(5)<< arr[i][j];
  61.         cout << endl;
  62.     }
  63. }
  64.  
  65. //n - столбцы, m - строки
  66. void process(int **a, int n, int m, int k, int &n1, int &m1) {
  67.     n1 = 0;//количество четных элементов в строке
  68.     m1 = 0;//сумма четных элементов в стркое
  69.     for(int i = 1;i < n+1;i++){
  70.         if(a[k][i] % 2 == 0) {
  71.             n1 ++;
  72.             m1+=a[k][i];
  73.         }
  74.     }
  75.  
  76. }
  77.  
  78. //n - столбцы, m - строки
  79. void toFile(int **arr, int n, int m) {
  80.     fstream to("res.txt", fstream::out|fstream::trunc);
  81.     if (!to) {
  82.         cout << "Невозможно создать файл" << endl;
  83.         exit(1);
  84.     }
  85.     for (int i = 0; i < m; i++) {
  86.         for (int j = 0; j < n; j++)
  87.             to << setw(5) << arr[i][j];
  88.         to << endl;
  89.     }
  90.     to << endl;
  91.  
  92.     for (int i = n-1; i >= 0; i--)
  93.         to << setw(5) << arr[m-1][i];
  94.  
  95.  
  96.     to.close();
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement