Advertisement
Nexon

Untitled

Dec 9th, 2014
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.96 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6.  
  7. short int append_trans(short int **array, int m, int n);
  8.  
  9. void main() {
  10.     setlocale(LC_ALL, "Russian");
  11.    
  12.     int array_count_m;
  13.     int array_count_n;
  14.  
  15.     cout<<"Введите кол-во строк в массиве (5): ";
  16.     cin>>array_count_m;
  17.     //array_count_m = 5;
  18.     cout<<endl;
  19.  
  20.     cout<<"Введите кол-во столбцов в массиве (8): ";
  21.     cin>>array_count_n;
  22.     //array_count_n = 8;
  23.     cout<<endl;
  24.  
  25.     short int **numbers = new short int * [array_count_m];
  26.     for(int i=0;i<array_count_m;i++)numbers[i] = new short int[array_count_n];
  27.  
  28.     for(int i=0;i<array_count_m;i++)for(int a=0;a<array_count_n;a++){
  29.         numbers[i][a] = (rand() % 250)-100;
  30.     }
  31.  
  32.     system("CLS");
  33.  
  34.     cout<<"Вывод массива в виде таблицы: "<<endl;
  35.     for(int i=0;i<array_count_m;i++){
  36.         for(int a=0;a<array_count_n;a++){
  37.             cout<<numbers[i][a]<<"\t";
  38.         }
  39.         cout<<endl;
  40.     }
  41.  
  42.     cout<<endl<<"Вывод элементов первого столбца массива: "<<endl;
  43.     int sum = 0;
  44.     for(int i=0;i<array_count_m;i++){
  45.         cout<<numbers[i][0]<<endl;
  46.         sum += numbers[i][0];
  47.     }
  48.  
  49.     cout<<endl<<"Сумма элементов первого столбца массива: "<<sum<<endl<<endl;
  50.  
  51.     **numbers = append_trans(numbers, array_count_m, array_count_n);
  52.  
  53.     cout<<"Вывод матрицы после сложения: "<<endl;
  54.     for(int i=0;i<array_count_m;i++){
  55.         for(int a=0;a<array_count_n;a++){
  56.             cout<<numbers[i][a]<<"\t";
  57.         }
  58.         cout<<endl;
  59.     }
  60.  
  61.     delete [] numbers;
  62.  
  63.     system("PAUSE");
  64. }
  65.  
  66. short int append_trans(short int **array, int m, int n) {
  67.     if(m != n)return 0;
  68.  
  69.     short int **array_t = new short int * [n];
  70.     for(int i=0;i<n;i++)array_t[i] = new short int[m];
  71.  
  72.     for(int i=0;i<n;i++) for(int a=0;a<m;a++) array_t[i][a] = array[a][i];
  73.     for(int i=0;i<m;i++) for(int a=0;a<n;a++) array[i][a] += array_t[i][a];
  74.  
  75.     delete [] array_t;
  76.  
  77.     return **array;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement