Тема: Створення циклічних програм
Допоможіть будь ласка....
Знайти суму всіх значень функції y = pow(x,i) / i , якщо i є [1; 10], hi = 1, x є [0; 1], hx = 0.1
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Створення циклічних програм
Для відправлення відповіді ви повинні увійти або зареєструватися
Допоможіть будь ласка....
Знайти суму всіх значень функції y = pow(x,i) / i , якщо i є [1; 10], hi = 1, x є [0; 1], hx = 0.1
25.6460500075
Не дякуйте.
25.6460500075
Не дякуйте.
Чому в мене інша виходить?
Дійсно.
Десь на телефоні щось не те набрав. А ви давно на телефоні програмували?
Можна ще попросити весь код цієї програми на C++!!!
nagibator13092000, А ви на програміста вчитесь?
На роботі за вас ніхто програми писати не буде.
Розумію, просто хворів і пропустив багато, і не дуже приємно буде якщо відрахують!!!
У вас сьогодні вихідний, розбирайтесь і наздогяняйте. Якщо конкретно щось не зрозуміло - задавайте питання. Далі буде лише складніше, і якщо весь час мутитись, то програміста з вас не вийде. А диплом зараз всім до одного місця.
hi, hx тут яким боком ?
Знову той незрозумілий матан, як той, хто читає питання має здогадатися, що то кроки.
В мене взагалі вийшло 7.7011
(а ні, то я горобчик. Вийшло 10.6301)
--------------------------------------------------------------
Автору: Вам потрібно зробити цикл з змінною типу double, в тому циклі рахуєте від 0 до 1 з кроком 0.1.
А всередині цього циклу робите ще один, в якому вже рахуєте від 1 до 10 з кроком 1.
Змінна першого циклу то ваш х, а змінна другого - і.
Сподіваюсь зрозумієте.
Автору: Вам потрібно зробити цикл з змінною типу double, в тому циклі рахуєте від 0 до 1 з кроком 0.1.
Такий підхід можливий (і в прикладах вище його використовували), але в нього є недолік: у залежності від реалізації, double (як і float) може по-різному здійснювати округлення — слід пам'ятати, що фактичне значення, яким оперує програма, може відрізнятися від того, що ми пишемо в тексті програми. Якщо замість десяткового дробу 0.1 у внутрішньому представленні використовується двійковий (а, як правило, так і є), то його фактичне значення буде трохи меншим чи трохи більшим від 0.1.
Тому, якщо в нас є така умова циклу:
double x;
for (x = 0; x <= 1; x+= 0.1)
то, в залежності від того, в яку сторону відбулося округлення, після десятої ітерації значення x буде або трохи меншим за 1, або трохи більшим. Якщо трохи менше, то все добре — далі робиться одинадцята ітерація зі значенням, близьким до 1. Якщо трохи більше, і оператор порівняння не допускає незначних похибок, то одинадцятої ітерації не буде, тому кінцева сума буде помітно меншою, ніж у першому випадку.
Тому краще робити цикл з цілим числом, на основі якого обчислюватиметься значення x.
double x;
int xx;
for(xx=0; xx<=10; xx++)
{
x=0.1*xx;
Для відправлення відповіді ви повинні увійти або зареєструватися