Напишите функцию sum, которая возвращает сумму всех элементов массива

#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 Фрагмент кода, который я привел, предназначен только для справки(в качестве отправной точки). В приведенном мной фрагменте кода можно внести множество изменений(которые применимы, включая ваше предложение).