Дан одномерный массив Y, который состоит из 25 чисел. Вычислить функцию:
б = y1+ 3*y2 + 3*y3 + ... + 3*y19 + y20
c++
var a:=ReadArrReal(25);
Println(a[0]+a[18]+3*a[1:18])
end.
var a:=ReadArrReal(25);
Println(a[0]+a[18]+3*a[1:18].Sum)
end.
Ответы
#include <iostream>
using namespace std;
int main(){
int arr[25] = { 42, 68, 35, 1, 70, 25, 79, 59, 63, 65, 6, 46, 82, 28, 62, 92, 96, 43, 28, 37, 92, 5, 3, 54, 93 };
int sum = 0;
for (int i = 1; i < 19; ++i) {
sum += arr[i];
}
sum = sum * 3 + arr[0] + arr[19];
cout << sum;
return 0;
}
Если интересует вариант поинтереснее, могу предложить код, который подойдет при наличии компилятора, поддерживающий стандарт C++11(для std::array)
#include <iostream>
#include <algorithm>
#include <array>
#include <iterator>
int main()
{
std::array<int, 25> arr;
std::for_each(arr.begin(), arr.end(), [](int& val)
{
val = rand() % 100 + 1;
});
int sum = arr[0] + arr[19];
for(auto& i : arr)
sum += 3*i;
std::copy(arr.begin(), arr.end(),
std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl << sum;
return 0;
}