|
|
|
| Вычислить значение z, соответствующие каждому значению x (xn<=x<=xk, шаг изменения x равен dx) по формуле z=pow((tan*(a-x))/(4.35+sin*(a+x))),1/3). Определить разницу между max и min значениями z по модулям.На экран выводить каждую четвертую пару x и z. Контрольный расчет провести при a=2.94, xn=1.5, xk=5.5, dx=0.2.ВВОД И ВЫВОД ИСПОЛЬЗОВАТЬ CIN И COUT, пожалуйста помогите. | |
|
|
|
|
|
|
|
для: Cena
(11.11.2011 в 00:12)
| | я пытался создать код, но у меня ничего не получилось)));
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double xn,xk,dx,x,z,max,min,sin,tan,a;
int k=0;
cout<<"xn,xk,dx=";
cin>>xn>>xk>>dx;
cout<<"a="<<a<<"\t sin="<<sin<<"\t tan="<<tan<<"\n";
for (x=xn; xn<=x<=xk; x+=dx)
{
k%4==2;
cout<<"x=";
cin>>x;
cout<<"z=";
cin>>z;
z=pow(fabs(tan*(alf-x))/(4.35+sin*(alf+x))),1./3);
k++;
if (k==1)
{
max=z;
min=z;
}
{else
if (|z|>min) max==|z|
if (|z|<max) min==|z|
}
x=x+dx;
cout<<"max="<<max<<"\t min="<<min<<"\t z="<<z<<"\n";
cout<<"R="<<max-min<<"\n";
cout<<"z="<<z<<"\n";
return z;
} |
| |
|
|
|
|
|
|
|
для: Cena
(11.11.2011 в 00:12)
| | Не очень понятно, почему после тангенса и синуса идет знак умножения? Он лишний или это у функций аргумент пропущен? Заготовка для программы может выглядеть следующим образом
#include <stdio.h>
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
// Объявление переменных
double x, xn, xk, dx, a, z;
// Ввод параметров
cout << "Введите xn = ";
cin >> xn;
cout << "Введите xk = ";
cin >> xk;
cout << "Введите dx = ";
cin >> dx;
cout << "Введите a = ";
cin >> a;
// Вычисление значений функции
for(x = xn; x <= xk; x += dx)
{
z = pow(tan(a - x)/(4.35 + sin(a + x)), double(1/3));
cout << "x = " << x << " z = " << z << endl;
}
// Остановка перед закрытием окна
system("PAUSE");
// Передает операционной системе состояние 0 - все в порядке,
// штатное завершение
return 0;
} |
| |
|
|
|
|
|
|
|
для: cheops
(11.11.2011 в 09:44)
| | Спасибо большое, а как вывести отсюда каждую четвертую пару x и z? | |
|
|
|
|
|
|
|
для: Cena
(12.11.2011 в 13:51)
| | Можно поступить следующим образом
#include <stdio.h>
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
// Объявление переменных
double x, xn, xk, dx, a, z;
int count = 0;
// Ввод параметров
cout << "Введите xn = ";
cin >> xn;
cout << "Введите xk = ";
cin >> xk;
cout << "Введите dx = ";
cin >> dx;
cout << "Введите a = ";
cin >> a;
// Вычисление значений функции
for(x = xn, count = 0; x <= xk; x += dx, count++)
{
if(count > 4) count = 0;
if(count == 0)
{
z = pow(tan(a - x)/(4.35 + sin(a + x)), double(1/3));
cout << "x = " << x << " z = " << z << endl;
}
}
// Остановка перед закрытием окна
system("PAUSE");
// Передает операционной системе состояние 0 - все в порядке,
// штатное завершение
return 0;
} |
| |
|
|
|
|
|
|
|
для: cheops
(12.11.2011 в 14:47)
| | Подскажите пожалуйста, где у меня могут быть ошибки, когда я считал min и max значение среди модуля z и разницы max и min?
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double x,xn,xk,dx,a,z,max,min,;
int i=0;
cout << "xn = ";
cin >> xn;
cout << "xk = ";
cin >> xk;
cout << "dx = ";
cin >> dx;
cout << "a = ";
cin >> a;
for(x = xn, i = 0; x <= xk; x += dx, i++)
{if(i > 4) i = 0;
if(i == 0)
{
z = pow(tan(a - x)/(4.35 + sin(a + x)), double(1/3));
cout << "x = " << x << " z = " << z << endl;
}
{max=|z|;
min=|z|;
if (|z|>max) max=|z|;
if (|z|<max) min=|z|;
}
cout<<"max="<<max<<"\t min="<<min<<"\n";
cout<<"R="<<max-min<<"\n";
system("PAUSE");
return 0;
} | |
|
|
|
|
|
|
|
для: Cena
(12.11.2011 в 17:36)
| | Модуль в C++ не обеспечивается при помощи вертикальных линий - это совсем другой оператор, ответственный за битовое ИЛИ. Для модуля числа имеется специальная функция abs(x). | |
|
|
|
|
|
|
|
для: cheops
(12.11.2011 в 18:38)
| | Понятно спасибо, но все равно выбивает ошибку(( где-то здесь
{max=abc(z);
min=abc(z);
if (abc(z)>max) max=abc(z);
if (abc(z)<max) min=abc(z);
}
cout<<"max="<<max<<"\t min="<<min<<"\n";
cout<<"R="<<max-min<<"\n";
system("PAUSE");
return 0;
}
и вібивает ошибки:
C:\Dev-Cpp\dev4.cpp In function `int main()':
24 C:\Dev-Cpp\dev4.cpp `abc' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
33 C:\Dev-Cpp\dev4.cpp expected `}' at end of input
Я не понимаю, где же я их допустил...( | |
|
|
|
|
|
|
|
для: Cena
(12.11.2011 в 19:54)
| | 1. Вместо abc() следует писать abs().
2. Кроме того, после if (abc(z)<max) min=abc(z); стоит лишняя закрывающая фигурная скобка. | |
|
|
|
|
|
|
|
для: cheops
(12.11.2011 в 22:28)
| | Здраствуйте, подскажите пожалуйста, в преведенной выше программе, у меня должен осуществиться вывод каждой пары x и z, у меня выводит x, но z почемуто остается неизменным, тоесть
x=1.5; z=1;
x=2.5; z=1;
x=3.5; z=1;
x=4.5; z=1;
может быть, в цикле нужно указать не i++, а 4+=i? | |
|
|
|
|
|
|
|
для: Cena
(16.11.2011 в 21:58)
| | 1. А какое значение z должно принимать (да у меня тоже везде единицы - это неправильно)?
2. x += 4 ничего не даст, так как по условию задачи вы сами задаете шаг и он равен 0.2, поэтому циклы нужно пропускать внутри for. Да и не даст это ничего на значение z это не виляет, это влияет на x. | |
|
|
|
|
|
|
|
для: cheops
(16.11.2011 в 22:12)
| | #include <iostream>
#include <math.h>
#include <cmath>
using namespace std;
int main()
{
double x,xn,xk,dx,a,z,max,min,k;
// Ввод параметров
cout << "xn = ";
cin >> xn;
cout << "xk = ";
cin >> xk;
cout << "dx = ";
cin >> dx;
cout << "a = ";
cin >> a;
for(x = xn; x <= xk; x += dx)
{if(k%4==2)
z = pow(tan(a - x)/(4.35 + sin(a + x)), double(1/3));
cout << "x = " << x << "\t z = " << z << endl;
}max=fabs(z);
min=fabs(z);
if (fabs(z)>max) max=fabs(z);
if (fabs(z)<max) min=fabs(z);
cout<<"max="<<max<<"\t min="<<min<<"\n";
cout<<"R="<<max-min<<"\n";
system("PAUSE");
return 0;
}
а как-то так можно сделать? но у меня выдает ошибку(20 C:\Dev-Cpp\Безымянный14568.cpp invalid operands of types `double' and `int' to binary `operator%' ) | |
|
|
|
|
|
|
|
для: Cena
(16.11.2011 в 22:17)
| | У вас переменная k имеет тип double, а операцию взятия остатка % можно использовать только совместно с переменными типа int. | |
|
|
|
|
|
|
|
для: cheops
(16.11.2011 в 22:49)
| | Спасибо Вам! | |
|
|
|