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

Определение типа масива - C++

Восстановить пароль Регистрация
 
BIZMONT
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 12
24.03.2013, 15:47     Определение типа масива #1
Всем доброго времени суток. Есть программа которая проверяет антирефлективность:
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
int main ()
{
    int n;
    char x;
    cout<<"Enter n:"<<endl;
    cin>>n;
    cout<<"Enter elements:"<<endl;
    int *m=new int [n];
    for (int i=0; i<n; i++)
    {
        cin>>m[i];
    }
 
    int **a=new int *[n];
    for (int і=0; і<n; і++ )
    {
       a[і]=new int [n];
    }
 
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        {
                a[i][j]=0;
        }
    }
 
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        {
            int b=m[i]%m[j];
            if(b<1)
            {
                a[i][j]=1;
            }
        }
    }
 
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        {
                cout<<a[i][j]<<" ";
        }
        cout<<endl;
 
    }
 
    for(int i=0; i<n-1; ++i)
    {
        for(int j=i+1; j<n; ++j)
        {
            bool  s=a[i][j] && a[j][i];
            if(s<1)
            {
                cout<<"Ratio is not antisymmetric"<<endl;
                getch();
                return 0;
            }
        }
    }
    cout<<"Ratio is antisymmetric"<<endl;
    getch();
}
Возникло два вопроса:
1) Нужно, что бы программа не зависела от типа вводимых данных, то есть вместо
C++
1
int *m=new int [n];
память выделялась в зависимости от типа вводимых данных. Например
C++
1
double *m=new double [n];
или
C++
1
long double *m=new long double [n];
Можно ли реализовать это с помощью перегрузок и если да, то как?
2) Можно ли сделать так, что бы пользователь мог сам выбирать функцию и проверку в этой части кода
C++
1
2
3
4
5
int b=m[i]%m[j];
if(b<1)
{
    a[i][j]=1;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
25.03.2013, 10:46     Определение типа масива #2
Цитата Сообщение от BIZMONT Посмотреть сообщение
Можно ли реализовать это с помощью перегрузок и если да, то как?
Лучше реализовать с помощью шаблонов (template).
Цитата Сообщение от BIZMONT Посмотреть сообщение
Можно ли сделать так, что бы пользователь мог сам выбирать функцию и проверку
Можно. Если будет выбор из некоторого кол-ва вариантов - просто. Если хочется чтобы писал формулу сам в консоле - это уже более серьезная задача.
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
25.03.2013, 11:14     Определение типа масива #3
Шаблоны С++
http://ru.wikipedia.org/wiki/%D0%A8%...%D1%8B_C%2B%2B
BIZMONT
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 12
28.03.2013, 21:12  [ТС]     Определение типа масива #4
Спасибо.
Yandex
Объявления
28.03.2013, 21:12     Определение типа масива
Ответ Создать тему
Опции темы

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