Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 13.10.2019, 17:18   #1
Tier_Mia
 
Регистрация: 13.10.2019
Сообщений: 5
По умолчанию Как передать динамический массив в функцию?Найти скалярное произведение векторов С++

Код:
#include<iostream>
using namespace std;

int amount(int k)
{ 
	cout << "write the amount of the coordinates ";
	cin >> k;
	return k;
}
 int vector_1()
{
	int k = amount(k);
	
	int* vect1 = new int[k];
	
	cout << "Input the coordinetes of yout vector: " << k << endl;
	for (int i = 0; i < k; ++i) 
	{
		cin >> vect1[i];

	}
	for (int i = 0; i < k; ++i) 
	{
		cout << vect1[i] << "  ";
	}
	return k;
	return vect1[k];
}
 int vector_2()
 {
	 
	 int k = amount(k);

	 int* vect2 = new int[k];

	 cout << "Input the coordinetes of yout vector: " << k << endl;
	 for (int i = 0; i < k; ++i)
	 {
		 cin >> vect2[i];

	 }
	 for (int i = 0; i < k; ++i)
	 {
		 cout << vect2[i] << "  ";
	 }
	 return k;
	 return vect2[k];
	
 }
 
 
 
 int main(int k, int * vect1, int* vect2)
 {
	 
	 float res;
	 res = 0.0;
	
	 int Vect1 = *vect1;
	
	 int Vect2 = *vect2;

	 for (int i = 0; i <= k; i++)
	 {
		
		res += Vect1[i] * Vect2[i];
     }

 cout << res;


 }

У меня 2 функции для каждого массива( массив - это координаты функции). Кроме них есть ещё первая функция amount, от которой я вызываю в функции vector_1 и vector_2 число k - количество координат. Последняя - это main, где происходит само умножение. Но проблема в том, что я не могу понять, как передать массив и члены массива(координаты)


______________________
Используйте тег [CODE] (кнопка [CODE] в форме сообщения) при вставке кода на форум. Подробнее в FAQ

Последний раз редактировалось Serge_Bliznykov; 14.10.2019 в 10:52.
Tier_Mia вне форума   Ответить с цитированием
Старый 13.10.2019, 20:54   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,034
По умолчанию

Какой же бред написан...

Код:
int amount(int k)
Зачем передавать k по значению, если вы ее все равно переписываете и возвращаете?

Код:
int k = amount(k);
И оно компилится?

Код:
return k;
return vect1[k];
Это что? После первого ретурна в функции ничего не выполнится.

Код:
int main(int k, int * vect1, int* vect2)
У мейна есть строго определенные варианты и она вызывается не вами.

Код:
int Vect1 = *vect1;
Т.е. как к получить вы знаете, а для указателя бред можно писать.

Код:
for (int i = 0; i <= k; i++)
Кто такой к? Выход за границы + к может у ваших массивов свой.
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 18.10.2019, 10:39   #3
CppLinux345
Пользователь
 
Регистрация: 26.09.2018
Сообщений: 22
По умолчанию

Мои глаза.Скок ошибок в коде.Во-первых учти хотя-бы то,что функция возвращает лишь одно значение,2 return-а не реально.
CppLinux345 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распараллелить скалярное произведение векторов drako08 Общие вопросы C/C++ 0 26.04.2018 10:26
Передать неинициализированный двухмерный динамический массив в функцию zorg-kirill Общие вопросы C/C++ 3 02.03.2013 19:44
Программа на скалярное произведение векторов вася радугов Помощь студентам 3 21.09.2011 22:40
Как передать Динамический массив в функцию? RainCat Помощь студентам 4 13.04.2011 11:25
скалярное произведение векторов Wika17 Паскаль, Turbo Pascal, PascalABC.NET 1 29.12.2010 12:32


16:03.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.