Лидеры рейтинга

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

379

Россия, пос. Теплоозёрск, ЕАО


ID: 401284

Михаил Александров

Советник

378

Россия, Санкт-Петербург


ID: 401888

puporev

Профессор

216

Россия, Пермский край


ID: 405338

vovaromanov.jr

1-й класс

130


ID: 400669

epimkin

Профессионал

112


ID: 242862

Hunter7007

Мастер-Эксперт

30

Россия, Омск


ID: 137394

Megaloman

Мастер-Эксперт

26

Беларусь, Гомель


8.10.2

13.10.2021

JS: 2.10.2
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-10-19 18:16:01-standard


Создание программ на языках C и C++.

Администратор раздела: CradleA (Мастер-Эксперт)

Консультация онлайн # 109077

Раздел: С / С++
Автор вопроса: Mart
Дата: 12.11.2007, 16:20 Консультация закрыта
Поступило ответов: 1

Здавствуйте, подскажите новичку. Как создать функцию в С++. Текст программы прилагается, он строить график типа Bar. Хочу создать из этой программы фукцию с входными параметрами:
float pdk[3][21]={{4,15,19,20,58,26,25,27,29,37,34,2,35,32,40,43,46,45,49,51,54},{5,16,20,21,59,27,26,28,30,38,35,3,36,33,41,44,47,46,50,56,55},{6,17,21,22,60,28,27,29,31,39,36,4,37,34,42,45,48,47,51,57,56}};
int r=0;
int N=21;
И полуать из функции значения:
float dmax, float dmin, float d[6].
Заранее спасибо! Можете привести какой-то свой пример, который возвращает несколько значений. Я догадалась как написать заголовок:
float graf(float pdk[3][21], int r, int N) {
}
а как вернуть несколько значений? и как постоить график в фукции, выводиться ошибка в строках :
Series1->Clear();
for (i=0; i<6; i++) {
Series1->AddY(d[i],(String)(d[i]), clTeeColor);
}

Приложение:

Ответ # 194393 от Воробьёв Алексей Викторович
Здравствуйте, Mart!

Задача не совсем понятна, потому отвечу не на все вопросы:

Есть несколько методов возвратить несколько значений из функции.
Самый предпочтительный через задание параметров как ссылок или указателей:

void graf(float pdk[3][21], int r, int N, float& dmax, float &dmin, float *d)
{
//Внутри функции работаете с такими параметрами как с обычными переменными
dmax=pdk[0][0];
dmin=pdk[0][0];
}
Для вызова фукнции делаете следующее

float dmax, dmin, d[6];
graf(pdk, r, N, dmax, dmin, d);

Другие методы: завести структуру

struct graf_result
{
float dmax, dmin, d[6];
};

Теперь можно либо передавать адрес структуры в функцию через указатель или ссылку:

void graf(float pdk[3][21], int r, int N, graf_result *d); или
void graf(float pdk[3][21], int r, int N, graf_result& d);

Наконец, можете возвращать эту структуру:

graf_result graf(float pdk[3][21], int r, int N);

К сожалению Вывод графика это гораздо более трудоёмкая задача и из Вашего вопроса не ясно с какой программной средой Вы работаете и в какой компонент Вы собираетесь осуществлять вывод.

Воробьёв Алексей Викторович

Посетитель
17.11.2007, 11:31
Мини-форум консультации # 109077
Нет сообщений в мини-форуме
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 122

Gluck

8-й класс

Рейтинг: 61

Коцюрбенко Алексей Владимирович

Старший модератор

Рейтинг: 48

CradleA

Мастер-Эксперт

Рейтинг: 2

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Асмик Гаряка

Советник

Рейтинг: 0