Предмет: Информатика, автор: SadNarrator

Дан одномерный массив Y, который состоит из 25 чисел. Вычислить функцию:
б = y1+ 3*y2 + 3*y3 + ... + 3*y19 + y20
c++

Приложения:

Browze: т.е в итоге нужно y[1] + y[20] + 3 * (y[2] + y[3] + ... + y[19]) ?
SadNarrator: Да
Аноним: Офигенно сложное задание! )))
SadNarrator: Мне нужен код для с++
Аноним: Да оно в любом языке от 3-4 до полутора десятков строк займет.
Browze: ))))))
Аноним: В Паскале, например, это так пишется (это чтобы не быть голословным про 3-4 строчки)
Аноним: begin
var a:=ReadArrReal(25);
Println(a[0]+a[18]+3*a[1:18])
end.
Аноним: Пропустил
Аноним: begin
var a:=ReadArrReal(25);
Println(a[0]+a[18]+3*a[1:18].Sum)
end.

Ответы

Автор ответа: Аноним
1

#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;

}


Автор ответа: Browze
1

Если интересует вариант поинтереснее, могу предложить код, который подойдет при наличии компилятора, поддерживающий стандарт 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;

}



Аноним: Почему в С-подобных языках "поинтереснее" - практически всегда синоним "еще длиннее" ? )))
Browze: Интерес заключается в том, чтобы использовать побольше возможностей, а с этим и увеличивается объем))))
Аноним: Ну т.е. 4 строки Паскаля, писанные за минуту, превратились в 19 на С++, в которых надо еще не ошибиться, отладить, да и просто набрать. Удивительно, что при этом некоторые школьные учителя, зная что по программе на базовом уровне на язык отводится 17 академических часов, пытаются впихнуть детям какие-то знания С/С++
Похожие вопросы
Предмет: Математика, автор: ulanmyltykbaj961
Предмет: Английский язык, автор: Ilyas2305