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

C++ что-то не то с кодом - C++

Восстановить пароль Регистрация
 
Krr
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 5
31.10.2013, 20:15     C++ что-то не то с кодом #1
Помогите пожалуйста.Задание легкое но у меня что-то не работает.
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 <math.h>
using namespace std;
int main()
{
 double a,d,t,m,c,b;
 for(d=2;d<=15;d=d+1)
  {
      for(t=0;t<=5.0;t=t+0.5)
      {
        
      if(d>t&&t>10.0&&d<1.0)
      {a=t+d;}
      if(t>1.0)
      {a=2.0*pow(t,2)-t*d+3.0*pow(d,2)-7.0*d-12.0*d+1.0;}
      else{a=pow(t,2)*d/tan(6.0);} 
      }
      for(m=-2.0;m<=2.0;m=m+0.41)
      {
      c=(fabs(pow(a,2)-5.0*a+4.0)/fabs(pow(d,2)-4.0))*m;
      }   
  }
 
  b = ((pow(c,2)+1.0)/2.0)+(m/sqrt(pow(a,2)+1))-2.9*a;
 
  cout<<"a = "<<a<<";c = "<<c<<";b = "<<b<<endl;
 
system("PAUSE");
return 0;
}
Задание найти значение функции.Значение d выбираются из множества [2 ;15] с шагом 1, а значение t - из множества - [0 ;5] с шагом 0.5, m выбираются из множества [-2; 2] с шагом 0.41. Значения переменных (с, a) задает пользователь с клавиатуры.
Вложения
Тип файла: docx Doc1.docx (14.5 Кб, 4 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2013, 20:15     C++ что-то не то с кодом
Посмотрите здесь:

Что не так с кодом C++
C++ Что не так с кодом?
C++ что не так с кодом?
C++ что не так с кодом
C++ что нетак с кодом
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
31.10.2013, 20:19     C++ что-то не то с кодом #2
C++
1
if(d>t&&t>10.0&&d<1.0)
Как это так? d больше t, но при этом d < 1 и t > 10. Это условие никогда не выполнится.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
31.10.2013, 20:22     C++ что-то не то с кодом #3
Что не получается?
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
31.10.2013, 20:25     C++ что-то не то с кодом #4
C++
1
a=2.0*pow(t,2)-t*d+3.0*pow(d,2)-7.0*d-12.0*d+1.0;
По формуле из файла, это -7t, а не -7d.

Добавлено через 36 секунд
C++
1
2
3
4
      for(m=-2.0;m<=2.0;m=m+0.41)
      {
      c=(fabs(pow(a,2)-5.0*a+4.0)/fabs(pow(d,2)-4.0))*m;
      }
Не понял, зачем этот цикл, если он каждый раз переписывает c?
Krr
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 5
31.10.2013, 20:26  [ТС]     C++ что-то не то с кодом #5
В общем, она компилируется,но выдает одинаковое значение чтобы я не меняла. А нужно чтоб там вроде учитывалось то что я задаю с клавиатуры
C++
1
2
3
4
cout<<"a:"<<'\n';
 cin>>a;
 cout<<"c:"<<'\n';
 cin>>c;
Но эта запись бесполезна так как программа ее не учитывает совсем.
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
31.10.2013, 20:29     C++ что-то не то с кодом #6
Как c и a могут задаваться пользователем, если они считаются по формулам внутри программы?
Krr
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 5
31.10.2013, 20:32  [ТС]     C++ что-то не то с кодом #7
Цитата Сообщение от Rivory Посмотреть сообщение
C++
1
a=2.0*pow(t,2)-t*d+3.0*pow(d,2)-7.0*d-12.0*d+1.0;
По формуле из файла, это -7t, а не -7d.

Добавлено через 36 секунд
C++
1
2
3
4
      for(m=-2.0;m<=2.0;m=m+0.41)
      {
      c=(fabs(pow(a,2)-5.0*a+4.0)/fabs(pow(d,2)-4.0))*m;
      }
Не понял, зачем этот цикл, если он каждый раз переписывает c?
Мне так мой преподаватель сказал сделать,он сам эти задания придумывает.Я не знаю как тогда сделать можно было вообще задать все с клавиатуры.

Добавлено через 1 минуту
Цитата Сообщение от Rivory Посмотреть сообщение
Как c и a могут задаваться пользователем, если они считаются по формулам внутри программы?
Я мучаюсь этим вопросом уже второй день.
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
31.10.2013, 20:34     C++ что-то не то с кодом #8
Цитата Сообщение от Krr Посмотреть сообщение
Задание легкое
Так огласите его, пожалуйста.
И еще, что за мания возводить в квадрат через экспоненту pow(a,2)=a^2=(e^2/e^(ln2))
неужели не проще написать a*a?
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
31.10.2013, 20:35     C++ что-то не то с кодом #9
Даже если забить на ошибки в коде, задача явно не корректное. Вообще не понятно что от Вас хотят.
Krr
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 5
31.10.2013, 20:41  [ТС]     C++ что-то не то с кодом #10
Цитата Сообщение от zss Посмотреть сообщение
Так огласите его, пожалуйста.
И еще, что за мания возводить в квадрат через экспоненту pow(a,2)=a^2=(e^2/e^(ln2))
неужели не проще написать a*a?
pow -это тоже по совету преподавателя.
Вложения
Тип файла: docx Doc1.docx (14.9 Кб, 4 просмотров)
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
31.10.2013, 21:05     C++ что-то не то с кодом #11
a и c вводятся как начальные значения.
Потом они в циклах пересчитываются.
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
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
 double a,d,t,m,c,b;
 cout<<"a:"<<'\n';
 cin>>a;
 cout<<"c:"<<'\n';
 cin>>c;
 for(m=-2.0;m<=2.0;m=m+0.41)
 {
    b = (c*c+1.0)/2.0+ m/sqrt(a*a+1.0)-2.9*a;
    for(d=2;d<=15;d=d+1)
    {
        for(t=0;t<=5.0;t=t+0.5)
        {
               if(d>t || t>10.0 ||d<1.0)
                        a=t+d;
               else if(t>1.0)
                   a=2.0*t*t-t*d+3.0*d*d-7.0*t-12.0*d+1.0;
               else
                   a=t*t*d/tan(6.0);
               cout<<"a = "<<a<<";c = "<<c<<";b = "<<b<<endl;
      }
      c=(fabs(a*a-5.0*a+4.0)/fabs(d*d-4.0))*m;
   }
 } 
 system("PAUSE");
 return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2013, 21:09     C++ что-то не то с кодом
Еще ссылки по теме:

Что не так с этим кодом? C++
C++ Что-то неладное с кодом
C++ Подскажите что не так с кодом?

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

Или воспользуйтесь поиском по форуму:
Krr
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 5
31.10.2013, 21:09  [ТС]     C++ что-то не то с кодом #12
Цитата Сообщение от zss Посмотреть сообщение
a и c вводятся как начальные значения.
Потом они в циклах пересчитываются.
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
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
 double a,d,t,m,c,b;
 cout<<"a:"<<'\n';
 cin>>a;
 cout<<"c:"<<'\n';
 cin>>c;
 for(m=-2.0;m<=2.0;m=m+0.41)
 {
    b = (c*c+1.0)/2.0+ m/sqrt(a*a+1.0)-2.9*a;
    for(d=2;d<=15;d=d+1)
    {
        for(t=0;t<=5.0;t=t+0.5)
        {
               if(d>t || t>10.0 ||d<1.0)
                        a=t+d;
               else if(t>1.0)
                   a=2.0*t*t-t*d+3.0*d*d-7.0*t-12.0*d+1.0;
               else
                   a=t*t*d/tan(6.0);
               cout<<"a = "<<a<<";c = "<<c<<";b = "<<b<<endl;
      }
      c=(fabs(a*a-5.0*a+4.0)/fabs(d*d-4.0))*m;
   }
 } 
 system("PAUSE");
 return 0;
}
Ммм, теперь ясно,где были ошибки.Спасибо большое.
Yandex
Объявления
31.10.2013, 21:09     C++ что-то не то с кодом
Ответ Создать тему
Опции темы

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