Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Sweet_mama
0 / 0 / 0
Регистрация: 03.05.2016
Сообщений: 87
1

Вычислить произведение элементов массива по указанной формуле

30.12.2017, 20:05. Просмотров 162. Ответов 13
Метки нет (Все метки)

Даны натуральные числа n, действительные числа x1, …, xn. Вычислить (x1+x2+2xn)(x2+x3+2xn-1)…( xn-1+xn+2x2)
Помогите пожалуйста, разобраться с ошибками.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<iostream.h>    // Стандартные классы ввода-вывода
#include <windows.h>    // Заголовочный файл, содержащий функции API
#include <time.h>       // Функции системного времени и даты
  char bufRus[256];      // Массив длинной 256 символов 
  char* Rus(const char* text)  //заголовок функции
  {
     CharToOem(text,bufRus);   //тело функции, меняем кодировку 
     return bufRus;               // возвращаем текст с русской кодировкой 
  }
int main ()
{
srand (time(NULL)); // Генерирует случайное число используя текущую дату
int i, n;   //Объявление переменных
float  x, rez;
    cout <<Rus("Последовательность n: ")<<endl; 
for (i=0;i<n;i++)           //Вывод последовательности x
    {                                           
        x[i]=rand()%1000+100)/100;
        cout <<x[i]<< " "; 
    } 
    cout << "\n";
    rez=1;
for (i=0; i<n; i++)     //Расчет 
    {
        rez *= x[i]+x[i+1]+2*x[n-i];
        }
cout << "\n";    
cout<<Rus("Результат: ")<<rez<<endl;     //вывод результата
system ("pause");                    // Команда задержки экрана
return 0;                    //Закончить текущую функцию
}
Вычислить произведение элементов массива по указанной формуле
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2017, 20:05
Ответы с готовыми решениями:

Вычислить значение последней ячейки массива по указанной формуле
Программа такая: Вводим 9 ячеек под названием A0, A1, A2, ..., A8; (забиваем...

Вычислить произведение положительных элементов массива, сумму элементов массива, расположенных до минимального
С одномерным массивом, состоящим из n вещественных элементов, произвести...

Составить программу для вычисления по формуле X - сумма всех элементов массива; Y - произведение положительных
Составить программу для вычисления по формуле X - сумма всех элементов...

В одномерном массиве, вычислить: а) количество элементов массива б) произведение элементов массива в) От - к +
Помогите пожалуйста!.. Вводить из клавиатуры массивы и обрабатывать их, пока...

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

13
alex white
249 / 205 / 87
Регистрация: 27.06.2016
Сообщений: 597
Завершенные тесты: 1
30.12.2017, 20:09 2
Sweet_mama, x должен быть какого типа?
0
Sweet_mama
0 / 0 / 0
Регистрация: 03.05.2016
Сообщений: 87
30.12.2017, 20:12  [ТС] 3
Цитата Сообщение от alex white Посмотреть сообщение
x должен быть какого типа?
действительные числа
0
alex white
249 / 205 / 87
Регистрация: 27.06.2016
Сообщений: 597
Завершенные тесты: 1
30.12.2017, 20:13 4
Sweet_mama, в смысле, много действительных чисел?
0
Sweet_mama
0 / 0 / 0
Регистрация: 03.05.2016
Сообщений: 87
30.12.2017, 20:26  [ТС] 5
Цитата Сообщение от alex white Посмотреть сообщение
в смысле, много действительных чисел?
Я только сейчас поняла, что в корне не правильно поняла задачу и запуталась окончательно.

Добавлено через 10 минут
Цитата Сообщение от alex white Посмотреть сообщение
в смысле, много действительных чисел?
Может быть, что в самом условии задачи ошибка? Даны не натуральнЫЕ числА n, а натуральНОЕ числО n. Это как я поняла изначально. И вроде бы все правильно, не пойму в чем тогда ошибки?!
0
alex white
249 / 205 / 87
Регистрация: 27.06.2016
Сообщений: 597
Завершенные тесты: 1
30.12.2017, 20:30 6
Sweet_mama, ошибка в том, что x вы испольуете как массив float, но тип вы ему задали просто float.
0
Sweet_mama
0 / 0 / 0
Регистрация: 03.05.2016
Сообщений: 87
30.12.2017, 20:43  [ТС] 7
Цитата Сообщение от alex white Посмотреть сообщение
ошибка в том, что x вы испольуете как массив float, но тип вы ему задали просто float.
Поправила, но считает не верно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<iostream.h>    // Стандартные классы ввода-вывода
#include <windows.h>    // Заголовочный файл, содержащий функции API
#include <time.h>       // Функции системного времени и даты
  char bufRus[256];      // Массив длинной 256 символов 
  char* Rus(const char* text)  //заголовок функции
  {
     CharToOem(text,bufRus);   //тело функции, меняем кодировку 
     return bufRus;               // возвращаем текст с русской кодировкой 
  }
int main ()
{
srand (time(NULL)); // Генерирует случайное число используя текущую дату
int i,n;    //Объявление переменных
float  x[100], rez;
cout << Rus("Введите количество элементов последовательности n (не более 100): ");
    cin >>  n; 
    for (i=0;i<n;i++)           //Вывод последовательности x
    {                                           
        x[i]=rand()%10;
        cout <<x[i]<< " "; 
    } 
    cout << "\n";
    rez=1;
for (i=0; i<n; i++)     //Расчет 
    {
        rez *= x[i]+x[i+1]+2*x[n-i];
        }
cout << "\n";    
cout<<Rus("Результат: ")<<rez<<endl;     //вывод результата
system ("pause");                    // Команда задержки экрана
return 0;                    //Закончить текущую функцию
}
0
alex white
249 / 205 / 87
Регистрация: 27.06.2016
Сообщений: 597
Завершенные тесты: 1
30.12.2017, 20:51 8
Sweet_mama, [n - i - 1] наверное.
1
Sweet_mama
0 / 0 / 0
Регистрация: 03.05.2016
Сообщений: 87
30.12.2017, 21:02  [ТС] 9
Цитата Сообщение от alex white Посмотреть сообщение
[n - i - 1] наверное.
где то еще
0
alex white
249 / 205 / 87
Регистрация: 27.06.2016
Сообщений: 597
Завершенные тесты: 1
30.12.2017, 21:04 10
Sweet_mama, при расчете условие на i < n - 1 поменять.
1
Yetty
1021 / 790 / 664
Регистрация: 18.12.2017
Сообщений: 3,060
30.12.2017, 21:04 11
Цитата Сообщение от Sweet_mama Посмотреть сообщение
где то еще
можно массив заполнять не с 0 а с 1 для наглядности
1
Sweet_mama
0 / 0 / 0
Регистрация: 03.05.2016
Сообщений: 87
30.12.2017, 21:10  [ТС] 12
Цитата Сообщение от alex white Посмотреть сообщение
при расчете условие на i < n - 1 поменять.
это понятно, я сразу исправила.
Вот что меня смущает (x1+x2+2xn)(x2+x3+2xn-1)…( xn-1+xn+2x2) а по моим то расчетам получается 2х1, если все по циклу
Хотя, нет, все вроде верно считает. Спасибо за помощь.
0
alex white
249 / 205 / 87
Регистрация: 27.06.2016
Сообщений: 597
Завершенные тесты: 1
30.12.2017, 21:16 13
Sweet_mama, я для этого и предложил условие поменять. Тогда на последней итерации n - i - 1 = n - (n - 2) - 1 = 1 (а 1 здесь - это 2 в исходной записи)
0
Yetty
1021 / 790 / 664
Регистрация: 18.12.2017
Сообщений: 3,060
30.12.2017, 21:50 14
проверьте и так (как по мне - проще)

for (i=1; i<n; i++)
rez *= x[i]+x[i+1]+2*x[n+1-i];

фигурные скобки необязательны
1
30.12.2017, 21:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2017, 21:50

В одномерном массиве,состоящем из n целочисленных элементов вычислить произведение элементов массива
В одномерном массиве,состоящем из n целочисленных элементов вычислить...

Вычислить произведение элементов массива с четными номерами и количество элементов, лежащих в диапазоне
Дан одномерный массив, состоящий из 16ти чисел от –99 до 99, генерируемых...

В одномерном массиве, состоящем из n элементов, вычислить произведение элементов массива с четными номерами
#include &quot;iostream.h&quot; #include &quot;math.h&quot; main() { const int n=10 int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru