Форум программистов, компьютерный форум CyberForum.ru

Предусмотреть использование шаблонного класса для работы с различными типами данных - C++

Восстановить пароль Регистрация
 
Максим 1994
0 / 0 / 1
Регистрация: 16.11.2012
Сообщений: 43
18.04.2013, 18:21     Предусмотреть использование шаблонного класса для работы с различными типами данных #1
Собственно само задание.

Преобразовать квадратную матрицу, осуществив поворот элементов вокруг центра матрицы на 90 градусов против хода часовой стрелки. Предусмотреть использование шаблонного класса для работы с различными типами данных.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <math.h>
using namespace std;
int **masA, **masB, n, m, i, j, k;
double temp;
int main ()
{  
    setlocale( LC_CTYPE, ".1251" );  
    cout<<"Введите количество строк в матрице: "<< endl;
    cin>>n;
    cout<<"Введите количество столбцов в матрице: "<< endl;
    cin>>m;
    masA = new int*[n];
        masB = new int*[m];
    for(i=0; i<n; i++)
       masA[i] = new int[m];
   for(i=0; i<m; i++)
       masB[i] = new int[n];
    cout<<"Введите элементы матрицы: "<< endl;
    for(i=0; i<n; i++)
       for(j=0; j<m; j++)
       {
          cin>>masA[i][j];
       }
        cout<<"Исходная матрица: "<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<m; j++)
          cout<<masA[i][j]<<" ";
           cout<<endl;
        }
    cout<<"Повернутая матрица на 90 градусов против хода часовой стрелки: "<<endl;
        for(i=0, k=m-1; i<m; k--, i++)
       for(j=0; j<n; j++)
           masB[k][j] = masA[j][i];
        for(i=0; i<m; i++)
        {
       for(j=0; j<n; j++)
                   cout<<" "<<masB[i][j]; 
           cout<<endl;
        }
        system ("PAUSE");
         return 0; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2013, 18:21     Предусмотреть использование шаблонного класса для работы с различными типами данных
Посмотрите здесь:

C++ Использование указателя на объект шаблонного класса в шаблонном классе.
[C++] перегрузка operator<< для шаблонного класса C++
Перегрузка << , >> для шаблонного класса C++
пространство имен для шаблонного класса C++
Оператор индексации и присваивания для шаблонного класса Vector C++ C++
C++ Как для шаблонного класса определить действие для частного случая
Вызов метода у шаблонного поля, шаблонного класса C++
Друзья шаблонного класса. Использование вложенной в класс структуры C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 928
Завершенные тесты: 1
18.04.2013, 19:05     Предусмотреть использование шаблонного класса для работы с различными типами данных #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
 
template <typename T>
class Matrix
  {
  struct Proxy
    {
    Proxy(T*& data_1d) : _data_1d(data_1d) {}
 
    T& operator[](size_t index) { return _data_1d[index]; }
 
    T * const _data_1d;
    };
 
  public:
    Matrix(size_t cols, size_t rows)
      : _data_2d(0), _cols(cols), _rows(rows)
      {
      _data_2d = new T*[cols];
      for (size_t i = 0; i < cols; ++i)
        _data_2d[i] = new T[rows]();
      }
    
    size_t cols() const { return _cols; }
    size_t rows() const { return _rows; }
 
    T& at(size_t row, size_t col) { return _data_2d[row][col]; }
    Proxy operator[](size_t index) { return Proxy(_data_2d[index]); }
 
    void rotate90()
      {
      /*write rotation here*/
      }
 
  private:
    T ** _data_2d;
 
    size_t _cols;
    size_t _rows;
  };
 
int main()
  {
  Matrix<int> matrix(10, 10);
 
  matrix[1][1] = 42;
  std::cout << matrix[1][1] << std::endl;
 
  return 0;
  }
Yandex
Объявления
18.04.2013, 19:05     Предусмотреть использование шаблонного класса для работы с различными типами данных
Ответ Создать тему
Опции темы

Текущее время: 08:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru