Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Shato
2 / 2 / 0
Регистрация: 16.03.2011
Сообщений: 82
#1

2 Программы. На "целые числа и системы счисления" и на "метод деления отрезка пополам" - C++

16.03.2011, 16:49. Просмотров 839. Ответов 3
Метки нет (Все метки)

1)Дано натурально число n. Среди чисел 1, ... ,n найти все такие, запись которых совпадает с последними цифрами их квадрата ( как, например, 6^2=36,25^2=625 и т.д. )

2)Методом деления отрезка пополам найти приближенное значение корня уравнения ( в скобках указан отрезок, содержащий корень )

x^3=0.2x^2-0.2x-1.2=0; [1, 1.5]

Метод деления отрезка попалам реализуется следующим алгоритмом (F(x) непрерывна на отрезке [a,b], F(a)*F(b)<0):
1)Находим x=(a+b)/2
2)Вычисляем F(x)
3)Если F(x)>0, задаем a=x, иначе b=xl
4)Проверяем условие |b-a|>Е(эпсилон), если оно выполняется, перейти к 1), если не выполняется - закончить вычисления и считать, что x= x с чертой, с заданной точностью E (эпсилон)

ПОМОГИТЕ ПОЖАЛУЙСТА! Буду очень признателен, если сделайте! Спасибо огромное заранее!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2011, 16:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос 2 Программы. На "целые числа и системы счисления" и на "метод деления отрезка пополам" (C++):

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Разработать класс "Массив больших чисел", который состоит из объектов класса "Большие целые числа". Найти сумму элементов массива. - C++
Разработать класс &quot;Массив больших чисел&quot;, который состоит из объектов класса &quot;Большие целые числа&quot;. Найти сумму элементов массива. ...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" - C++
кто то напишите пожалуйста, вот программа: наследуемым классом для комплексного числа объявить класс &quot;радиус-вектор&quot;, имеющий данные...

Через ООП: Дать для числа наименование: "рубль", "рубля", "рублей"; - C++
Помогите пожалуйста с задачей. Могу сделать ее просто, но надо через ООП и у меня не получается. Дано натуральное число N (N&lt;20),...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
skaa
Хочу в Исландию
1029 / 828 / 75
Регистрация: 10.11.2010
Сообщений: 1,626
16.03.2011, 17:30 #2
t1() - первая задача, t2() - вторая задача.
Вопросы:
x^3=0.2x^2-0.2x-1.2=0; [1, 1.5]
следует читать:
x^3+0.2x^2-0.2x-1.2=0; [1, 1.5]
?
3)Если F(x)>0, задаем a=x, иначе b=x
должно быть наоборот, функция ведь возрастает на [1, 1.5], т.е.:
3)Если F(x)>0, задаем b=x, иначе a=x

Что непонятно - спрашивайте!

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include    <stdio.h>
#include    <math.h>
 
void    t1();
void    t2();
void    main()
{
    t1();
    t2();
}
void    t1()
{
    int nmax=100;
    int jn;
    int jnsq,jnsq2ld;
    int qdigits;
    int ju;
    int ntens;
 
    for(jn=1;jn<=nmax;jn++)
    {
        for(ju=jn,qdigits=0;ju>0;ju/=10)
            qdigits++;
        for(ju=0,ntens=1;ju<qdigits;ju++)
            ntens*=10;
 
        jnsq=jn*jn;
        jnsq2ld=jnsq%ntens;
        if(jnsq2ld==jn)
            printf("%d (sq:%d)\n",jn,jnsq);
    }
}
void    t2()
{
    double  xa=1.,xb=1.5;
    double  xaj,xbj,xm;
    double  Fx;
    double  Eps=0.00001;
 
    for(xaj=xa,xbj=xb;;)
    {
        xm=(xaj+xbj)/2;
        Fx=xm*xm*xm+0.2*xm*xm-0.2*xm-1.2;
        if(Fx>0)
            xbj=xm;
        else
            xaj=xm;
        if(abs(xbj-xaj)<=Eps)
            break;
    }
    printf("%.5f\n",xm);
}
0
Shato
2 / 2 / 0
Регистрация: 16.03.2011
Сообщений: 82
16.03.2011, 17:36  [ТС] #3
следует читать:
x^3-0.2x^2-0.2x-1.2=0; [1, 1.5] извините, ошибочка.

3)Если F(x)>0, задаем a=x, иначе b=x в условии написанно именно так.
0
skaa
Хочу в Исландию
1029 / 828 / 75
Регистрация: 10.11.2010
Сообщений: 1,626
16.03.2011, 18:27 #4
Прекрасно, t2() меняем на:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void    t2()
{
    double  xa=1.,xb=1.5;
    double  xaj,xbj,xm;
    double  Fx;
    double  Eps=0.00001;
 
    for(xaj=xa,xbj=xb;;)
    {
        xm=(xaj+xbj)/2;
        Fx=xm*xm*xm-0.2*xm*xm-0.2*xm-1.2;
        if(Fx>0)
            xbj=xm;
        else
            xaj=xm;
        if(abs(xbj-xaj)<=Eps)
            break;
    }
    printf("%.5f\n",xm);
}
, только пункт 3) всё равно неправильный, я использовал свой (корень нашёлся 1.2, и это так и есть), потому что функция возрастает на [1, 1.5].

Добавлено через 8 минут
Вот описание метода который очень похож на Ваш:
http://incat.narod.ru/m1.htm
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2011, 18:27
Привет! Вот еще темы с ответами:

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...

по строкам.замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно - C++
замените в слове сочетание &quot;му&quot; на &quot;а&quot; , а букву &quot;ы&quot; на &quot;ца&quot;. очень нужно Добавлено через 21 час 4 минуты неужели никто не знает...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.03.2011, 18:27
Ответ Создать тему
Опции темы

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