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

sqrt - C++

Восстановить пароль Регистрация
 
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
30.03.2011, 11:07     sqrt #1
Как в с прошрамме написать sqrt(2-x)?
У меня sqrt не считает, может есть еще вариант как написать данное выражение?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
30.03.2011, 11:10     sqrt #2
Цитата Сообщение от Сидоренко Посмотреть сообщение
У меня sqrt не считает
А что делает, песни поет? Конкретнее.

C++
1
2
3
#include <cmath>
 
std::sqrt(2.0 - x);
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
30.03.2011, 11:13  [ТС]     sqrt #3
Можно так записать: pow(2-x,1./2.) ?

Цитата Сообщение от CyBOSSeR Посмотреть сообщение
#include <cmath>
Может <math.h>??
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
30.03.2011, 11:16     sqrt #4
Цитата Сообщение от Сидоренко Посмотреть сообщение
Может <math.h>??
Если пишете на СИ - да.
Цитата Сообщение от Сидоренко Посмотреть сообщение
Можно так записать: pow(2-x,1./2.) ?
Можно но зачем? Что не так с sqrt?
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
30.03.2011, 11:20  [ТС]     sqrt #5
Я библиотеку забыл подключить(

При расчетах оно мне пишет -1.#j Как это понимать?
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
30.03.2011, 11:21     sqrt #6
Сидоренко, скорее всего Вы ему отрицательное число передаете.
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
30.03.2011, 11:23  [ТС]     sqrt #7
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 <stdio.h>
#include <math.h>
#include <conio.h>
int main(void) { float f_y(float x);
float f_z(float z);
puts("\n\t\t__________________________________________________");
puts("\t\t     N     |      X    |      Y      |    Z      |");
puts("\t\t__________________________________________________\n"); 
 
int n(1);
float x,y,z;
 
while (x<100) {
      puts("\nVvedite x: ");
      scanf("%f",&x);
      printf("\t\t|%10i|%11.2f|",n,x);
      if (2-x!=0){    y=f_y(x); 
      printf("%13.2f|",y);}
      else printf("       ****  |");
       if (2*x!=0)        {z= f_z(x);
        printf("%11.2f|",z); }
        else printf("     ****  |");
        n++;}
        
      puts("\n______________________________________________________");
      getch();
      return 0;
      }
      float f_y(float x) {
          return(sqrt(2.0-x)); }
      float f_z(float x) {
            return ((1+x)/(2*x)); }
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
30.03.2011, 11:42     sqrt #8
Сидоренко, как я и говорил проблема в том, что Вы передаете в sqrt отрицательно число. И цикл у Вас бесконечный. И n у Вас нигде не объявлена. И объявления функций внутри main не вариант. И... вообщем учебник в руки и вперед.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2011, 13:06     sqrt
Еще ссылки по теме:

Рекурсия S=sqrt(1+sqrt(2+sqrt(3+.+sqrt(n) C++
Дано натуральное число n. Вычислить sqrt(2+ sqrt(5 + sqrt(7...)) C++
C++ Вычислить y=sqrt(1+sqrt(4+sqrt(9+.+sqrt(36+sqrt(49)

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

Или воспользуйтесь поиском по форуму:
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
30.03.2011, 13:06  [ТС]     sqrt #9
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
И цикл у Вас бесконечный
Бесконечный? А это что?

Цитата Сообщение от Сидоренко Посмотреть сообщение
while (x<100)
????

Добавлено через 5 минут
Ок, функции я описал перед главной, и изменил условие sqrt! Все работает.
Еще одни вопрос как сделать с помощью цикла while () do?

Добавлено через 1 час 7 минут
Все Спасибо! Вот ответ do {действия} while (i)

Еще вопрос: Как задать цвет в с ?
Yandex
Объявления
30.03.2011, 13:06     sqrt
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
30.03.2011, 13:06     sqrt #10
Сидоренко, просто вместо
C
1
2
while(x < 100){
}
пишете
C
1
2
do{
}while(x < 99);

Сидоренко, 1 вопрос - 1 тема
Ответ Создать тему
Опции темы

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