Подсчитать сумму всех членов ряда - C (СИ)
Формулировка задачи:
Добрый день. Помогите с программкой. Есть задание:
Для ряда, члены которого вычисляются по формуле, подсчитать:
• сумму всех членов ряда;
• сумму первых 10 членов ряда;
• произведение последних 10 членов ряда.
только при помощи операторов while, do-while, for и библиотек stdio.h и math.h
Решение задачи: «Подсчитать сумму всех членов ряда»
textual
Листинг программы
#include "math.h" #include <stdio.h> #include <iostream> #include "windows.h" using namespace std; int main(){ SetConsoleCP(1251); SetConsoleOutputCP(1251); int count; double *store; double sum=0; double mult=1; cout<< "Введите количество членов последовательности "<< endl; cin>> count; store= new double[count]; //выделение памяти под ряд for (int i = 0; i < count; i++) { store[i]=pow(-1,i)*pow(2,i+1)/(pow(2,2*i)+1); } for (int i = 0; i < count; i++) { sum+=store[i]; } cout<< endl << "Cумма ряда = " << sum <<endl; if (count>=10) { sum=0; for (int i = 0; i < 10; i++) { sum+=store[i]; } cout<< endl << "Cумма 10 первых членов ряда = " << sum <<endl; int j=0; for (int i = count-1; j <= 10; j++) { mult*=store[i-j]; } cout<< endl << "Произведение 10 последних членов ряда = " << mult <<endl; } system("pause"); }
Объяснение кода листинга программы
В этом коде:
- #include
math.h
- подключает математическую библиотеку, которая содержит функции для работы с числами с плавающей точкой. - #include
- подключает библиотеку для работы с стандартным вводом/выводом. - #include
- подключает библиотеку для работы с потоками ввода/вывода в стандартной библиотеке C++. - #include
windows.h
- подключает библиотеку Windows API (Application Programming Interface), которая позволяет программисту взаимодействовать с операционной системой Windows. - using namespace std; - позволяет использовать стандартное пространство имен
std
, которое содержит функции и классы стандартной библиотеки C++. - int main(){ - функция
main()
, в которой происходит основная логика программы. - SetConsoleCP(1251); - устанавливает кодировку консоли на UTF-8.
- SetConsoleOutputCP(1251); - устанавливает кодировку вывода на UTF-8.
- int count; - переменная для хранения количества членов последовательности.
- *double store;** - переменная для хранения массива (ряда) чисел с плавающей точкой.
- double sum=0; - переменная для хранения суммы всех членов последовательности.
- double mult=1; - переменная для хранения произведения всех членов последовательности.
- cout<<
Введите количество членов последовательности
<< endl; - вывод сообщения с просьбой ввести количество членов последовательности. - cin>> count; - ввод количества членов последовательности с помощью функции
cin()
. - store= new double[count]; //выделение памяти под ряд - выделение памяти под массив (ряд) чисел с плавающей точкой.
- for (int i = 0; i < count; i++) { - начало цикла для заполнения массива.
- store[i]=pow(-1,i)pow(2,i+1)/(pow(2,2i)+1); - формула для вычисления значения i-го члена последовательности.
- for (int i = 0; i < count; i++) { - начало цикла для вычисления суммы всех членов последовательности.
- sum+=store[i]; - вычисление суммы текущего члена последовательности и общего значения суммы.
- cout<< endl <<
Cумма ряда =
<< sum <<endl; - вывод суммы ряда. - if (count>=10) { - проверка, что количество членов последовательности больше или равно 10.
- sum=0; - обнуление суммы.
- for (int i = 0; i < 10; i++) { - начало цикла для вычисления суммы первых 10 членов последовательности.
- sum+=store[i]; - вычисление суммы текущего члена последовательности и общего значения суммы.
- cout<< endl <<
Cумма 10 первых членов ряда =
<< sum <<endl; - вывод суммы первых 10 членов последовательности. - int j=0; - переменная для хранения индекса текущего члена последовательности, используемого для вычисления произведения.
- for (int i = count-1; j <= 10; j++) { - начало цикла для вычисления произведения последних 10 членов последовательности.
- *mult=store[i-j];** - вычисление произведения текущего члена последовательности и общего значения произведения.
- cout<< endl <<
Произведение 10 последних членов ряда =
<< mult <<endl; - вывод произведения последних 10 членов последовательности. - system(
pause
); - пауза перед завершением программы, чтобы пользователь мог увидеть результат.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д