Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
#1

Передать массив элементов(типа int) объекта, в функцию из массивов(типа int) - C++

27.01.2012, 11:22. Просмотров 1041. Ответов 4
Метки нет (Все метки)

Представьте такую ситуацию. Есть у вас массив чисел:
C++
1
Mass[4]
И вы хотите передать его в функцию. Я делаю это так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//объявим ф-ю:
func(const short*Mass)
{
...
}
//передадим эл-т:
main
{
...
short Mass[4];
func(Mass);
...
}
А теперь допустим, что у меня есть массив объектов типа Point.
и у этого объекта несколько элементов. Например:
[CPP]
class Point
{
public:
Point() {}
short X,Y;
AnsiString Name;
};
/CPP]
И вот хочу я массив объектов засунуть в ф-ю, но не создавая отдельный массив типа short, а как бы сразу например:
C++
1
2
Point P[4];
func(P->X);
Надеюсь я доступно выразил свой вопрос. Спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2012, 11:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передать массив элементов(типа int) объекта, в функцию из массивов(типа int) (C++):

Как передать 0 в функцию типа f (int, int&) - C++
Подскажите, почему при повторных вызовах f остается предыдущее значение S? Т.е. не обнуляется в теле f - {...s=0...} и как его обнулить?...

Напишите перегруженную функцию power (), которая принимает два целочисленных параметра типа int и возвращает целочисленное значение типа int - C++
Операции над целыми числами осуществляются быстрее, чем над числами с плавающей точкой. Напишите перегруженную функцию power (), ...

Написать функцию типа Beaty(int iA, int iB, int *pc) - C++
Задание: Написать функцию типа Beaty(int iA, int iB, int *pc); для выражения (iA+iB)/(iA*iB). Помогите решить!

Передать массив чисел типа Int функции - C++
Всем привет. Столкнулся с проблемой передачи числового массива функции. Этот код изменяет исходный массив. Как сделать так, чтобы при...

Аргумент типа int не совместим с параметрами типа int* - C++
помогите, ошибка в программе "аргумент типа int не совместим с параметрами типа int*" #include <stdio.h> #include <conio.h> #include...

В массив типа double записываю целые числа (типа int), но ошибка не вылазиет! - C++
Вот программулька: #include <iostream> using namespace std; #include <conio.h> int main() { double arr={1,2,3,4,5}; ...

4
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,138
27.01.2012, 11:42 #2
Цитата Сообщение от Андрей2011 Посмотреть сообщение
И вот хочу я массив объектов засунуть в ф-ю, но не создавая отдельный массив типа short, а как бы сразу например
Перефразирую:
Цитата Сообщение от Андрей2011 Посмотреть сообщение
1) Я НЕ создаю массив
2) Я его передаю в функцию


Цитата Сообщение от Андрей2011 Посмотреть сообщение
Point P[4];
func(P->X);
Но здесь то вы его создаете. Если нужно перебирать по одному объекту, то:
C++
1
2
3
4
5
6
7
8
void yourFunc(Point x)
{
//x - принятый объект
}
 
Point mas[4];
for (int i = 0; i < 4; i++)
   yourFunc(mas[i]);
0
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
27.01.2012, 11:45  [ТС] #3
нет мне надо массив передать.
вот упрощенный вариант вопроса.
C++
1
2
3
4
 struct {short X,Y;}
 Mass[4];
 
  func(Mass->X);  //хочу передать массив элементов Х.
0
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,138
27.01.2012, 11:55 #4
Цитата Сообщение от Андрей2011 Посмотреть сообщение
нет мне надо массив передать.
Что бы передать массив, надо его сформировать. Поэтому не получиться упрощенного варианта. Предлагаю перед этим создать массив, ну и сформировать его по циклу mass->x как вам надо.
1
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
27.01.2012, 11:56  [ТС] #5
Ага. понял. просто думал что есть упрощенный вариант, мало ли. Размечтался. Спасибо!
0
27.01.2012, 11:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2012, 11:56
Привет! Вот еще темы с ответами:

Перевести строку типа char в массив типа int - C++
Задание : В текстовом файле INPUT.TXT записаны целые числа через пробел, возможно, в несколько строк. За один просмотр файла сформировать...

Значение типа "int*" нельзя присвоить сущности типа int - C++
#include &lt;iostream&gt; using namespace std; int sort(int k, int p, int b, int n) { int min = 0; // для вставки задач int sum;...

МАССИВЫ: динамические мас.значение типа "int *" нельзя присвоить сущности типа "int" - C++
МАССИВЫ: динамические массива ОШИБКА:значение типа &quot;int *&quot; нельзя присвоить сущности типа &quot;int&quot; #include &lt;iostream&gt; using...

Как передать в stringstream переменную типа int? - C++
Как запихнуть в stringstram int? Не находит такой перегруженной функции. sstream заинклудил. ifstream fin(&quot;C:\\ServerName.txt&quot;); ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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