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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
GooDLivE
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 13
#1

Передача массива - C++

28.05.2011, 09:16. Просмотров 499. Ответов 4
Метки нет (Все метки)

Как передать массив(вектор) в класс
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
class CZigzagLine
{
private:
        int value[6];
 
 
public:
        int &operator() (int p1);
};
 
int& CZigzagLine ::operator()(int p1)
{
        if (p1 > 6)
        {       
                cout << "Error\n" << endl;
                exit(1);
        }
        return value[p1];
};
int main()
{
        int p;
        setlocale( LC_ALL, "Russian" );
        
        cin >> p;
        CZigzagLine A;
       for (int i = 0; i < p; i++)
        {
                
                cin >> p;
                A(i)=p;
        }
так удаеться передать но мне надо бы типо

C++
1
CZigzagLine A(С[])
ка правильно это сделать??

и как делать с динамическим массивом
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2011, 09:16     Передача массива
Посмотрите здесь:

Передача массива - C++
massiv.cpp int * peredacha() { int mas; for (int i = 0; i &lt; 10; i++) for (int j = 0; j &lt; 10; j++) ...

Передача массива - C++
Нужна помощь. как передать массив созданный в функции в main()? int poisk(AEROFLOT *aeroflot,char *n) { int i,k; k=0; ...

Передача массива в функцию - C++
есть массив a 100 - кол-во точек 0,1,2 - координаты соответственно x,y,z нужно написать функцию которая будет находить расстояние между...

Передача массива в класс - C++
Как правильно передать одномерный массив в класс? И если можно то пример передачи.. Спасибо!

Передача двумерного массива - C++
Искал по поиску , но так и не получилось у меня решить мою проблему с передачей динамического двумерного массива #include&lt;iostream&gt; ...

Передача массива в функцию - C++
В общем задание такое Превратить этот код в другой код, что-то поменять, я не врубаюсь что и как. Тема называется передача массива в...

Передача массива в функцию - C++
Доброе время суток! Товарищи профессионалы! Помогите, очень прошу! как передать в функцию массив a int frik (int aa) {return (1);}...

Передача массива в функцию - C++
Какие есть способы для передачи массивы в функцию. И как передать массив с указателем на него чтобы все изменения вносились в него? Если...

Передача массива в функцию - C++
Добрый день, мне нужно посчитать кол-во счастливых билетов на определенном промежутке. Используя для этого разные функции. Но проблема в...

передача двумерного массива - C++
Разработать программу с шаблонными функциями для типов int, float и double. Данные в функции передаются в качестве параметров....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,435
28.05.2011, 09:37     Передача массива #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
#include <iostream>
using namespace std;
class CZigzagLine
{
private:
        int value[6];
 
 
public:
        CZigzagLine () {};           
        CZigzagLine (int* p) {
         for (int i= 0; i< 6; i++) {
          value [i]= p [i];
         }
        };           
        int &operator() (int p1);
};
 
int& CZigzagLine ::operator()(int p1)
{
        if (p1 > 6)
        {       
                cout << "Error\n" << endl;
                exit(1);
        }
        return value[p1];
};
int main()
{
        int p;
        setlocale( LC_ALL, "Russian" );
        
        cin >> p;
        CZigzagLine A;
       for (int i = 0; i < p; i++)
        {
                
                cin >> p;
                A(i)=p;
        }
 
        int array [6]= {2,3,4,5,6,7};
        CZigzagLine B (array);
 
}
GooDLivE
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 13
28.05.2011, 09:55  [ТС]     Передача массива #3
Спасибо... а можно ли динамический массив который при этом заполняеться через цикл
C++
1
2
3
4
5
6
7
8
9
10
11
12
class ppz
{
float *vertex;
.....
};
....
double *C;
for(i=0;i<10;i++)
{
cin >> C[i];
}
ppz A(C)
такое возможно??
kjahert
49 / 49 / 5
Регистрация: 08.04.2011
Сообщений: 124
28.05.2011, 10:00     Передача массива #4
Динам. массив это
C++
1
2
3
4
5
6
7
8
cout<<"Vvedite razmer matricy: \n";
 cin>>n;
int* C=new int [n];
cout<<"Vvedite matricu: \n";
  for (int i=0;i<n;i++)
  {
C[i];
}
GooDLivE
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 13
28.05.2011, 10:08  [ТС]     Передача массива #5
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#include <iostream>
#include <cstdio>
#include <math.h>
using namespace std;
class PolyLine {
    float *Vertex[2];  
    int size;
public:
    PolyLine();
    PolyLine(int n, float *newVertexes[2]);
    ~PolyLine();
 
    void AddVertex(float x, float y);
    int VertexCount() const
    {
        return size;
    }
    float Length() const;
 
    PolyLine & operator = (const PolyLine & other);
    bool operator == (const PolyLine & other) const;
    bool operator != (const PolyLine & other) const;
    bool operator >= (const PolyLine & other) const;
    bool operator <= (const PolyLine & other) const;
    bool operator > (const PolyLine & other) const;
    bool operator < (const PolyLine & other) const;
};
 
PolyLine::PolyLine() : size(1)
{
    for(int i = 0; i < 2; i++)
    {
        Vertex[i] = new float [size];
        Vertex[i][0] = 0.0f;
    }
}
 
PolyLine::PolyLine(int n, float *newVertexes[2]) : size(n)
{
    for(int i = 0; i < 2; i++)
    {
        Vertex[i] = new float [size];
        for(int j = 0; j < size; j++)
        {
            Vertex[i][j] = newVertexes[i][j];
        }
    }
}
 
PolyLine::~PolyLine()
{
    for(int i = 0; i < 2; i++)
    {
        delete [] Vertex[i];
    }
}
 
void PolyLine::AddVertex(float x, float y)
{
    float * tmp[2];
    for(int i = 0; i < 2; i++)
    {
        tmp[i] = new float [size + 1];
        for(int j = 0; j < size; j++)
        {
            tmp[i][j] = Vertex[i][j];
        }
        delete [] Vertex[i];
        Vertex[i] = tmp[i];
    }
    Vertex[0][size] = x;
    Vertex[1][size] = y;
    size++;
}
 
float PolyLine::Length() const
{
    float length(0.0f);
    for(int i = 0; i < size - 1; i++)
    {
        length += sqrt(pow(Vertex[0][i + 1] - Vertex[0][i], 2.0f) + pow(Vertex[1][i + 1] - Vertex[1][i], 2.0f));
    }
    return length;
}
 
PolyLine & PolyLine::operator = (const PolyLine & other)
{
    if(this != &other)
    {
        size = other.size;
        for(int i = 0; i < size; i++)
        {       
            delete [] Vertex[i];
            Vertex[i] = new float [size];
            for(int j = 0; j < size; j++)
            {
                Vertex[i][j] = other.Vertex[i][j];
            }
        }
    }
    return *this;
}
 
bool PolyLine::operator == (const PolyLine & other) const
{
    return Length() == other.Length();
}
 
bool PolyLine::operator != (const PolyLine & other) const
{
    return Length() != other.Length();
}
 
bool PolyLine::operator >= (const PolyLine & other) const
{
    return Length() >= other.Length();
}
 
bool PolyLine::operator <= (const PolyLine & other) const
{
    return Length() <= other.Length();
}
 
bool PolyLine::operator > (const PolyLine & other) const
{
    return Length() > other.Length();
}
 
bool PolyLine::operator < (const PolyLine & other) const
{
    return Length() < other.Length();
}
int main()
{
    int n;
    cout<<"Vvedite razmer matricy: \n";
    cin>>n;
    int* C=new int [n];
    cout<<"Vvedite matricu: \n";
    for (int i=0;i<n;i++)
    {
        C[i];
    }
    PolyLine A(n,C);
 
}
вот чет не работает ругаеться на 2 параметр
Yandex
Объявления
28.05.2011, 10:08     Передача массива
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru