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

Сделать один метод для 3 разных типов массивов - C++

Восстановить пароль Регистрация
 
AlexanderKr
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 7
16.11.2011, 15:13     Сделать один метод для 3 разных типов массивов #1
Не получается сделать один метод для 3 разных типов массивов... помогите пожалуйста

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
// WorkShablon.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <conio.h>
using namespace std;
 
 
 
//TEMPLATE.VEC - шаблон векторов.
template <class T> // Т - параметр шаблона.
class Vector
{
  T *data;  // Начало одномерного массива.
 // T **typ;
  int size,n; // Количество элементов в массиве
 public:
  Vector(int); // Конструктор класса vector.
  ~Vector() { delete[] data; } // Деструктор.
  // пропишем методы
 
  // Расширение действия (перегрузка) операции "[]":
  T& operator[] (int i) { return data[i]; }
  void Run();
  
};
 
// Внешнее определение конструктора класса:
template <class T>
Vector <T>::Vector(int n)
{ 
  data = new T[n]; 
  size = n;
};
 
template< class T >
   void Vector<T>::Run()
  {
   int n=size;
      Vector <int> X(n);
     
    cout<<"vvedite elementi"<<endl;
                for(int i=0; i<n;i++)
                 {cin>>X[i];} 
                     int temp;
        temp = X[0];
         for(int i=0; i<n; i++)
              {
                X[i] = temp*X[i];
                }
          for (int i = 0; i < n; i++)
     cout <<"  " << X[i] <<" ";;
  };
 
void main ()
{ 
    int n,k;
    cout<<"Vvedite n"<<endl;
    cin>>n;
 
  Vector <int> X(n);
  // Создаем объект  класса   "символьный вектор":
  Vector <char> C (n) ;
  Vector <double> D (n);
   
 cout<<"S kakim tipom hotite rabotat?"<<endl;
 cout<<"1. int"<<endl;
 cout<<"2. char"<<endl;
 cout<<"3. double"<<endl;
 cin>>k;
  // Определяем компоненты векторов:
 
  switch (k) 
{ 
  case 1: X.Run();
                
      break; 
      
  case 3: 
         cout<<"vvedite elementi"<<endl;
        for(int i=0; i<n;i++)
        {cin>>D[i];} 
             double temp2;
         temp2 = D[0];
         for(int i=0; i<n; i++)
             {
                    D[i] = D[i];
             }
          for (int i = 0; i < n; i++)
         cout <<"  "  << D[i];; break;
 
  case 2: 
        cout<<"vvedite elementi"<<endl;
        for(int i=0; i<n;i++)
        {cin>>C[i];} 
                      for (int i = 0; i < n; i++)
                        cout <<"  "  << C[i]; ; break;
     default: "Viberite pravilno!"; 
} 
 
  getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.11.2011, 15:28     Сделать один метод для 3 разных типов массивов #2
какой метод?
AlexanderKr
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 7
16.11.2011, 15:35  [ТС]     Сделать один метод для 3 разных типов массивов #3
Метод класса. Что бы он работал с разными типами массивов. В данном случае метод Run



Общая постановка. Даны: число N и последовательность a1, a2, … aN. Создать шаблон класса, порождающий динамические одномерные массивы с элементами различных типов (вещественные, целочисленные, символьные). Тип данных и результат являются параметрами по отношению к классу, программа должна иметь методы инициализации, конструктор, деструктор, метод просмотра значений созданного массива согласно заданному алгоритму.
2. (a1*a1), (a1*a2), …, (a1*aN);
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
16.11.2011, 15:46     Сделать один метод для 3 разных типов массивов #4
C++
1
T temp;
и
C++
1
Vector <T> X(n);
Yandex
Объявления
16.11.2011, 15:46     Сделать один метод для 3 разных типов массивов
Ответ Создать тему
Опции темы

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