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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2015, 23:04   #1
tisit
Пользователь
 
Регистрация: 15.12.2014
Сообщений: 24
Вопрос Расчет выражения с задействованием массива

Для заданного кол-ва иксов(с клавиатуры размерность ввести) нужно вычислить выражение Y, формула во вложении. Вроде все сделал, но есть сомнения насчет самой формулы, либо я не понял ее принцип либо она не правильная изначально попалась
Код:
#include <iostream>
#include <math.h>

using namespace std;

int main()
{
	setlocale(0, "");
	int v[50]; 
	int  n = 0;
	int y = 0, c = 2;
	cout << "Задайте количество элементов массива: ";
	cin >> n;
	cout << "Задайте целые числа для заполнения массива: ";

	for (int x=0; x<n; x++) // задаем кол-во элементов(значений) n
	{	
		cin >> v[x]; // вводим кол-во целых элементов
		cout  <<  v[x] << "\t";	// выводим массив
	}
	cout  << "" << endl;
	for(int i = 1; i < n; i+=2)
	{
		y += pow(-1.0, c++) * v[i - 1] * v[i];
	}
	cout << endl << "Результат равен: " << y << endl;
	system("pause");
	return 0;
}
Изображения
Тип файла: jpg 3_3_3.jpg (5.0 Кб, 128 просмотров)
tisit вне форума Ответить с цитированием
Старый 01.12.2015, 15:13   #2
chipside
Форумчанин
 
Регистрация: 03.08.2013
Сообщений: 208
По умолчанию

А зачем тебе в формуле c++ вместо i+1 ?
--
Судя по формуле надо вводить пары чисел.
Т.е. число чисел должно быть кратно 2-м.
--
Попробуй так.
Код:
// http://programmersforum.ru/showthread.php?t=285957
#include <iostream>
#include <math.h>

using namespace std;

int main()
{
	setlocale(0, "");
	int v[50]; 
	int  n = 0;
	int y = 0, c = 2;
	do {
		cout << "Задайте количество элементов массива (кратное двум): ";
		cin >> n;
	} while ( n%2 != 0);
	cout << "Задайте целые числа для заполнения массива: \n";

	for (int x=0; x<n; x++) // задаем кол-во элементов(значений) n
	{	
		cin >> v[x]; // вводим кол-во целых элементов
		//cout  <<  v[x] << "\t";	// выводим массив
	}
	cout  << "" << endl;
	for(int i = 1; i < n; i+=2)
	{
		y += pow(-1.0, c++) * v[i - 1] * v[i];
	}
	cout << endl << "Результат равен: " << y << endl;
	system("pause");
	return 0;
}
---
А ещё лучше так
Код:
while ( (n%2 != 0) || (n <= 0) )
---
Про c++ понял.

Последний раз редактировалось chipside; 01.12.2015 в 15:42.
chipside вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расчет арифметического выражения, вторая ночь без сна HELP ) Elnamir Общие вопросы C/C++ 0 29.12.2013 04:43
Дана строка, арифметические выражения вида A x B. Вычислить значение выражения Un1q Паскаль, Turbo Pascal, PascalABC.NET 4 09.12.2013 14:47
Расчет арифметического выражения через бинарное дерево! Марина-56 Помощь студентам 0 13.05.2012 17:22
расчет арифметического выражения через бинарное дерево darklexus1990 Помощь студентам 1 07.06.2010 18:48