Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
2 / 2 / 4
Регистрация: 02.03.2011
Сообщений: 134
1

Проверьте пожалуйста, правильно ли я сделал задание

07.09.2012, 00:17. Показов 1341. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот задание
Дано действительное х. Вычислить
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{(x-1)(x-3)(x-7)K(x-63)}{(x-2)(x-4)(x-8)K(x-64)}

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
                    {
        {
        int n=63,i,j=n+1;
        double x,s,f,t,g;
        cout<<"Vvedite x= "; cin>>x;
        t=1;
        for (i=1;i<=n;i++)
                {
                    s=x-i;
                    t=s*t;
                //  cout<<t<<" ";
                }
        g=1;
        for (j=2;j<n+1;j++)
                {
                    f=x-j;
                    g=f*g;
                //  cout<<g<<" ";
                }
        cout<<"Znachenie virazheniya ravno "<<t/g<<"\n";
             }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2012, 00:17
Ответы с готовыми решениями:

Проверьте пожалуйста,правильно ли я сделал связи!?
Проверьте пожалуйста,правильно ли я сделал связи!?

Правильно ли сделал схему данных? проверьте пожалуйста
Приложил бд

Разложить на линейные множители многочлен.Проверьте пожалуйста правильно ли я сделал
ссылка удалена]

Проверьте, пожалуйста, правильно ли сделано задание
Добрый день! Проверьте, пожалуйста, правильно ли сделано задание. Текст задания - Выдать...

15
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
07.09.2012, 00:25 2
Цитата Сообщение от delexa Посмотреть сообщение
j=n+1;
зачем присваивать значение
если в цикле опять присваиваешь
Цитата Сообщение от delexa Посмотреть сообщение
j=2;
0
2 / 2 / 4
Регистрация: 02.03.2011
Сообщений: 134
07.09.2012, 00:27  [ТС] 3
Цитата Сообщение от ValeryS Посмотреть сообщение
зачем присваивать значение
если в цикле опять присваиваешь
ОК

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
        int n=63,i,j;
        double x,s,f,t,g;
        cout<<"Vvedite x= "; cin>>x;
        t=1;
        for (i=1;i<=n;i++)
                {
                    s=x-i;
                    t=s*t;
                //  cout<<t<<" ";
                }
        g=1;
        for (j=2;j<n+1;j++)
                {
                    f=x-j;
                    g=f*g;
                //  cout<<g<<" ";
                }
        cout<<"Znachenie virazheniya ravno "<<t/g<<"\n";
            }
Тогда вот так?
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
07.09.2012, 00:33 4
Цитата Сообщение от delexa Посмотреть сообщение
Тогда вот так?
конечно нет
у тебя там (x-1)(x-3).....
а здесь
Цитата Сообщение от delexa Посмотреть сообщение
for (i=1;i<=n;i++)
(х-1)(х-2)(х-3).........
0
2 / 2 / 4
Регистрация: 02.03.2011
Сообщений: 134
07.09.2012, 00:38  [ТС] 5
Проглядел( Тогда через один цикл можно...
0
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
07.09.2012, 00:39 6
Напишите через функцию
C++
1
2
3
4
5
6
7
8
9
10
11
double func(double x, double K)
{
    double temp = ((x-2)*(x-4)*(x-8)*(x-64)*K);
    if (temp == 0)
    {
        cout<<"Bad argument\n";
        return 0;
    }
    double result = ((x-1)*(x-3)*(x-7)*(x-63)*K)/temp;
    return result;
}
1
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
07.09.2012, 00:47 7
Цитата Сообщение от delexa Посмотреть сообщение
Проглядел( Тогда через один цикл можно...
не понял что ты имеешь ввиду
тебе надо просто написать
C
1
for (i=1;i<=n;i+=2)
т.е i будет изменятся на 2
1 3 5 7

Добавлено через 3 минуты
опанки все не так
у тебя же
1 3 7
по моему это степени 2 без 1
а в знаменателе степени 2
т.е первый цикл
C
1
2
3
for (i=2;i<=n;i*=2)
 {
                    s=x-i-1;
1
2 / 2 / 4
Регистрация: 02.03.2011
Сообщений: 134
07.09.2012, 00:52  [ТС] 8
yuron_477, Спасибо, но к сожалению до функций я еще не дошел в своем изучении)


ValeryS, я имею в виду вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
    {
        int n=64,i;
        double x,s,f,t,g;
        cout<<"Vvedite x= "; cin>>x;
        t=1, g=1; 
        for (i=1;i<=n;i++)
        {
                    if (i%2!=0) {s=x-i; t=s*t;}
                    else  (f=x-i); g=f*g;
        }           
         cout<<"Znachenie virazheniya ravno "<<t/g<<"\n";
            }
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
07.09.2012, 00:59 9
Цитата Сообщение от delexa Посмотреть сообщение
я имею в виду вот так
ты на задание то посмотри
у тебя в числителе степени двойки без единицы а в знаменателе степени двойки (геометрическая прогрессия) а ты реализуешь арифметическую
Цитата Сообщение от delexa Посмотреть сообщение
i++
и знаменатель надо проверять на 0 иначе не поделится
1
2 / 2 / 4
Регистрация: 02.03.2011
Сообщений: 134
07.09.2012, 01:16  [ТС] 10
Понял) Сейчас сделаю...

Добавлено через 11 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    {
        int n=64,i,j;
        double x,s,f,t,g;
        cout<<"Vvedite x= "; cin>>x;
        t=1;
        for (i=2;i<=n;i*=2)
                {
                    if (i%2==0)
                    s=x-i-1;
                    t=s*t;
                //  cout<<t<<" ";
                }
        g=1;
        for (j=2;j<=n;j*=2)
                {
                    f=x-j;
                    g=f*g;
                //  cout<<g<<" ";
                }       
         cout<<"Znachenie virazheniya ravno "<<t/g<<"\n";
            }
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
07.09.2012, 01:34 11
Цитата Сообщение от delexa Посмотреть сообщение
for (i=2;i<=n;i*=2)
{
if (i%2==0)
это будет всегда равно 0 i степень 2
1
2 / 2 / 4
Регистрация: 02.03.2011
Сообщений: 134
07.09.2012, 01:43  [ТС] 12
Цитата Сообщение от ValeryS Посмотреть сообщение
это будет всегда равно 0 i степень 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
        int n=64,i,j;
        double x,s,f,t,g;
        cout<<"Vvedite x= "; cin>>x;
        t=1;
        for (i=2;i<=n;i*=2)
                {
                    s=x-i-1;
                    t=s*t;
                //  cout<<t<<" ";
                }
        g=1;
        for (j=2;j<=n;j*=2)
                {
                    f=x-j;
                    g=f*g;
                //  cout<<g<<" ";
                }
        if (g!=0) cout<<"Znachenie virazheniya ravno "<<t/g<<"\n";
        else cout<<"Oshibka, znamenatel' raven nulyu";
            }
убрал и сделал проверку знаменателя
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
07.09.2012, 02:04 13
Цитата Сообщение от delexa Посмотреть сообщение
s=x-i-1;
вот здесь
C++
1
s=x-i+1;
s=x-(i-1)= s=x-i+1;
остальное правильно хотя и не совсем

все можно сделать в один цикл и без дополнительных переменных
C++
1
2
3
4
5
for (i=2;i<=64;i*=2)
        {
           t*=x-i+1;
           g*=x-i;
         }
Добавлено через 13 минут
пардон вот так

C++
1
2
    t*=(x-i+1);
           g*=(x-i);
1
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
07.09.2012, 10:21 14
Возможно я сначала не до конца понял задание, но предложу еще один вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
double x;
double temp1 = 1, temp2 = 1;
cout<<"Enter x: ";
cin>>x;
for (int i = 1, j = 2; j<=64; i+=i+1, j*=2)
{
    temp1 *= x-i;
    temp2 *= x-j;
    //cout<<i<<" "<<j<<endl; // для контроля переменных
}
double result = temp1/temp2;
cout<<"Result: "<<result<<endl;
1
0 / 0 / 0
Регистрация: 07.09.2012
Сообщений: 34
07.09.2012, 21:56 15
ValeryS,
помогите пожалуйста . очень сильно надо
Среднее арифметическое всех отрицательных значений функции.
Y=0.56*x-11*x+4*sin(x+1)+3 L=-5, R=5
0
2 / 2 / 4
Регистрация: 02.03.2011
Сообщений: 134
07.09.2012, 23:46  [ТС] 16
Всем спасибо, тему можно закрывать.
Регина1994, Создай новую тему, и объясни, что такое R и L. Это х принадлежит от -5 до 5?
0
07.09.2012, 23:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2012, 23:46
Помогаю со студенческими работами здесь

Проверьте пожалуйста 16 задание в файле, если не правильно, укажите на ошибки
Вот)))

Помогите со структурой, проверьте правильно ли я её сделал
издательство создать БД-издательство продает книги оптовым покупателям Задание: 1.Создать...

проверьте Adcence всё ли я правильно сделал
просто последнее время играл с расположением блоков - и что-то меня смущает - начало бы ло хорошее...

правильно ли я сделал задание?
правильно ли сделано задание? //предположим, что указатель pa был определен в следующем...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru