Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2016, 15:55   #1
Lolopop12
Пользователь
 
Регистрация: 21.01.2016
Сообщений: 23
По умолчанию Найти значение выражения

Дано вещественное число X и целое число N (> 0). Найти значение 1–X2/2 + X4/4 – + (–1)NX2N/(2N) .

Есть код к этой задаче. Возможно ли его записать чуть чуть по другому, "попроще"
Код:
#include <iostream>
#include <cstdlib>
#include <math.h>

using namespace std;
int main(int argc, char** argv) 
{
	int n,k,i,t;
	float x,sum,a;
	setlocale(0, "");
	t=1;
	cout<<"введите x"<<endl;
	cin>>x;
	cout<<"введите n"<<endl;
	cin>>n;
	if(n>0){
		sum=0;
		a = 1;
float x2 = x*x/2;
for(int k=0;k<=n && isfinite(a*x2);k++)
{
  a*=x2;
  sum+=a;
}
		
		cout.precision(3);
		cout<<sum<<endl;
	} 
	else 
	cout<<"Ошибка!"<<endl;
	system ("pause");

}
а именно
Код:
a = 1;
float x2 = x*x/2;
for(int k=0;k<=n && isfinite(a*x2);k++)
{
  a*=x2;
  sum+=a;
}
Заранее очень благодарен за любую оказанную помощь
Lolopop12 вне форума Ответить с цитированием
Старый 06.02.2016, 15:38   #2
Lolopop12
Пользователь
 
Регистрация: 21.01.2016
Сообщений: 23
По умолчанию

Никто не подскажет как сделать?)
Lolopop12 вне форума Ответить с цитированием
Старый 06.02.2016, 18:52   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

а что сложного в умножение и сложении?

П.С. Если это не учебная задача на циклы, то можно вспомнить математику и понятие геометрической прогрессии.

Последний раз редактировалось p51x; 06.02.2016 в 18:58.
p51x вне форума Ответить с цитированием
Старый 08.02.2016, 19:58   #4
vvmcpp
Форумчанин
 
Аватар для vvmcpp
 
Регистрация: 11.12.2010
Сообщений: 116
По умолчанию

Цитата:
Сообщение от Lolopop12 Посмотреть сообщение
Есть код к этой задаче. Возможно ли его записать чуть чуть по другому, "попроще"
Задачу на любом языке может решаться несколькими способами.
Что именно вы хотите упростить?
Как это не парадоксально звучит, но простой код писать гораздо сложнее.

Вы можете вынести например в отдельную функцию этот код. Он будет наглядней.
Можете скомпоновать его красиво. Вынести часть кода из цикла.
И код упростится. Это легко, немного похоже на разгадывание кроссворда или составление чего-то из кубиков.

Когда вы что-то переставляете и компонуете по другому, у вас появятся новые идеи, как это сделать.
Это хорошее упражнение для тренировки.

Представьте что переменные и блоки программы это такие как-бы кубики или коробочки. В переменных хранятся значения.
А в блоках кода вы что-то делаете с этими значениями.
Если у вас есть компилятор вы можете поэкспериментировать, переставляя их в коде.

Напишите вывод ваших значений переменный в разных блоках
кода, например:
cout<<"переменная a = "<< a <<endl;

Разбейте задачу на множество простых задач.

Вы увидите, что происходит с переменными и как они меняются в зависимости от ваших операций с ними.
Придумайте сами себе простую задачу.
Самую простую с кодом, какую сможете. Попытайтесь её решить по другому в вашем коде, и всё у вас получится.

Последний раз редактировалось vvmcpp; 08.02.2016 в 20:11.
vvmcpp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти значение выражения Санек-22рус Паскаль, Turbo Pascal, PascalABC.NET 5 24.05.2015 05:39
Нужно найти значение выражения на языке си (С) Ginks111 Помощь студентам 3 27.11.2014 11:02
Найти значение выражения mozgbezmozgov Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 08.06.2014 19:24
Найти значение заданного выражения C++ ne_znaika C++ Builder 0 10.07.2013 14:49
Найти значение выражения при х=[1..10] EThread Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 22.12.2008 07:25