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

Передача массива в функцию - C++

Восстановить пароль Регистрация
 
ExploiT
1 / 1 / 0
Регистрация: 15.10.2009
Сообщений: 16
27.05.2012, 11:16     Передача массива в функцию #1
есть массив a[100][3] 100 - кол-во точек 0,1,2 - координаты соответственно x,y,z
нужно написать функцию которая будет находить расстояние между точками a[i][3] и a[j][3] этого массива, формула такая
sqrt((a[i][0]-a[j][0])*(a[i][0]-a[j][0])+(a[i][1]-a[j][1])*(a[i][1]-a[j][1])+(a[i][2]-a[j][2])*(a[i][2]-a[j][2]))

я записывал вот так:
void d(float a[100][3])
{sqrt((a[i][0]-a[j][0])*(a[i][0]-a[j][0])+(a[i][1]-a[j][1])*(a[i][1]-a[j][1])+(a[i][2]-a[j][2])*(a[i][2]-a[j][2]))}

а потом вызывал
if (d(a, i,j) > maxd1) {(d(a[i][3],a[j][3])=maxd1;}


ошибка: error C2660: d: функция не принимает 2 аргументов

Пожалуйста покажите как правильно
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
27.05.2012, 11:21     Передача массива в функцию #2
ну ты даешь...в функции стоит только массив а передаешь аж ТРИ переменных...
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
27.05.2012, 11:22     Передача массива в функцию #3
Вы видите, что вам пишет компилятор
Цитата Сообщение от ExploiT Посмотреть сообщение
ошибка: error C2660: d: функция не принимает 2 аргументов
Вот ваша функция d:

Цитата Сообщение от ExploiT Посмотреть сообщение
void d(float a[100][3])
Вот вы ее вызываете:
Цитата Сообщение от ExploiT Посмотреть сообщение
(d(a, i,j)
Вопрос! почему функция объявлена с одним параметром, а вы передаете ее 3! ?
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
27.05.2012, 11:22     Передача массива в функцию #4
Вот вот, то же самое что и я говорю...
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
27.05.2012, 12:23     Передача массива в функцию #5
ExploiT, функция объявляется вот так
void d(float a[100][3], int i , int j)
ExploiT
1 / 1 / 0
Регистрация: 15.10.2009
Сообщений: 16
27.05.2012, 12:28  [ТС]     Передача массива в функцию #6
ок сейчас попробую
Choopa
 Аватар для Choopa
17 / 17 / 0
Регистрация: 03.04.2011
Сообщений: 89
27.05.2012, 12:31     Передача массива в функцию #7
Хм... Мне кажется функция должна выглядеть так:
double d(float a[100][3], int i , int j)
{
return sqrt((a[i][0]-a[j][0])*(a[i][0]-a[j][0])+(a[i][1]-a[j][1])*(a[i][1]-a[j][1])+(a[i][2]-a[j][2])*(a[i][2]-a[j][2]));
}

Добавлено через 1 минуту
Цитата Сообщение от ExploiT Посмотреть сообщение
(d(a[i][3],a[j][3])=maxd1;
А это вообще не понятно что такое
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2012, 12:32     Передача массива в функцию
Еще ссылки по теме:

Передача массива в функцию C++
Передача массива в функцию C++
Передача массива в функцию используя указатель на функцию C++

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

Или воспользуйтесь поиском по форуму:
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
27.05.2012, 12:32     Передача массива в функцию #8
Choopa, ну да ,а то смысл её вызывать если она ничего не вернёт )
Yandex
Объявления
27.05.2012, 12:32     Передача массива в функцию
Ответ Создать тему
Опции темы

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