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

Операторы цикла. - C++

Восстановить пароль Регистрация
 
greendzol
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 10
28.11.2010, 19:50     Операторы цикла. #1
Вводится число X>1 и точность e. Вычислить с заданной точностью квадратный корень введенного числа X, не пользуясь функцией SqRt (один из самых простых методов решения этой задачи - деление пополам. Начинаем с отрезка [1;X]. Берем его середину, возводим в квадрат и сравниваем с X. Если результат оказался больше, отбрасываем правую половину отрезка, иначе - левую и повторяем все с начала. Действуем так, пока длина отрезка не станет меньше e).

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>
#include <conio.h>
#include <math.h>
using namespace std;
int main ()
{
 
 float x;
 float ans=0; // peremennaja dla vivoda otveta
 cout << "Enter x =";
 cin >> x;
 float e;   // to4nostj
 cout << "Enter degree e =";
 cin >> e;
 float L=0; // left
 float C;   // center
 float R=x; // right
 C=(L+R)/2;
 while ((fabs(C*C)-x)>e)
 
 if ((C*C)>x)
L=C;
 else
R=C;
 
 
 
cout << ans << endl;
 
 getch ();
 return 0;
}

Почему-то не выводит ответ.

Добавлено через 27 минут
Вот ещё один из вариантов.


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
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int main ()
{
 
 float x;
 float ans;
 cout << "Enter x =";
 cin >> x;
 float e;
 cout << "Enter degree e =";
 cin >> e;
 float L=0;
 float C;
 float R=x;
 C=(L+R)/2;
 
if ((C*C)>x)
L=C;
else R=C;
while (fabs(C*C)-x>e)
 
 
cout << ans <<endl;
 
 getch ();
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2010, 19:50     Операторы цикла.
Посмотрите здесь:

C++ Операторы цикла
Условные операторы.Операторы цикла C++
C++ Операторы цикла (while, do...while)
C++ Операторы цикла (while, do...while)
Операторы цикла C++
C++ операторы цикла
C++ операторы цикла
C++ Операторы цикла while и do … while

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monkey_2
 Аватар для Monkey_2
34 / 34 / 4
Регистрация: 11.02.2009
Сообщений: 84
28.11.2010, 22:15     Операторы цикла. #2
Цитата Сообщение от greendzol Посмотреть сообщение
while ((fabs(C*C)-x)>e)
if ((C*C)>x)
L=C;
else
R=C;
cout << ans << endl;
Цикл вечный ,значение С в теле цикла тоже менять нада,и переменной ans по истечению цикла нечего не присваивается
Yandex
Объявления
28.11.2010, 22:15     Операторы цикла.
Ответ Создать тему
Опции темы

Текущее время: 09:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru