#c #arrays
Вопрос:
#include lt;iostreamgt; #includelt;math.hgt; using namespace std; struct Point { //B double x = 0; double y = 0; }; void fillArray(double box[][10]) { //D cout lt;lt; "Insert 100 doubles: "; for (int i = 0; i lt; 10; i) { for (int j = 0; j lt; 10; j) { cin gt;gt; box[i][j]; } } } int sum(int* arr, int size) { //f int result = 0; for (int i = 0; i lt; size; i) result = arr[i]; return result; } int main() { double box[10][10]{}; //A cout lt;lt; "Enter your name:"; //C string name; cin gt;gt; name; cout lt;lt; "Hello " lt;lt; name lt;lt; 'n'; fillArray(box); }
У меня возникли проблемы с выполнением еще нескольких функций.
G)Напишите разностную функцию, которая принимает в качестве параметра 2 элемента массива и которая возвращает разницу между элементом a и элементом b.
это первая функция, которую я не понимаю.
H)Напишите функцию product, которая получает в качестве параметра 2 элемента массива и которая возвращает произведение этих элементов.
Комментарии:
1. Если у вас возникли проблемы с пониманием (домашнего задания), спросите человека, который вам его поручил. Случайные незнакомцы в Интернете тоже не будут знать ответа.
Ответ №1:
Вот мой совет: очистите свои основы, и все будет хорошо.
Это мой код:
Версия 1: Для суммирования всех элементов массива:
#include lt;iostreamgt; double sum(double *arr, std::size_t lengthArr ) { double sum = 0; for(int i = 0; i lt; lengthArr; i) { sum = arr[i]; } //return the sum return sum; } int main() { //create the array double arr[] = {1, 10, 13, 43,43,543,63}; std::coutlt;lt;"The sum is: "lt;lt;sum(arr, sizeof(arr)/sizeof(double));//call the sum fuction passing the arr and its size return 0; }
Версия 2: Для написания функции продукта, которая получает в качестве параметра 2 элемента массива и которая возвращает произведение этих элементов.
#include lt;iostreamgt; double product(double amp;a, double amp;b )//a and b are passed by reference { //return the product return a * b; } int main() { //create the array double arr[] = {1, 10, 13, 43,43,543,63}; std::coutlt;lt;"The product is: "lt;lt;product(arr[1], arr[3]);//call the product function and pass whichever elements of the array return 0; }
Я полагаю, вы можете изменить версию 2 для целей вычитания.
Обратите внимание, что мы также можем использовать шаблоны, чтобы сделать эту программу более общей. Эти образцы были просто для того, чтобы вы начали(или в качестве справки).
Комментарии:
1. Хорошо, спасибо, вы предлагаете мне удалить все ???
2. Есть ли причины передавать двойную ссылку? вы не изменяете их, поэтому, если вы используете ссылку, это должна быть ссылка const; передача двойного значения-это нормально.
3. @user17262893 Под «удалить все», если вы имеете в виду, что вам не следует использовать фрагмент кода, который вы указали в своем собственном вопросе, то да.
4. @Jarod42 Фрагмент кода, который я привел, предназначен только для справки(в качестве отправной точки). В приведенном мной фрагменте кода можно внести множество изменений(которые применимы, включая ваше предложение).