IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> программирование С++, Решить задачу
Katalina1
сообщение 14.10.2011, 14:07
Сообщение #1





Группа: Новички
Регистрация: 14.10.2011
Пользователь №: 54 156



привет всем
вот такая задача
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dХ.
{ 1/((a*x)-b) при x+5<0 и b!=0
F= {(x-a)/x при x+5>0 и b ==0
{ 10*x/(c-4) в остальных случаях
где а, b, с – действительные числа.
Функция F должна принимать действительное значение, если выражение
(Ац И Вц) ИЛИ (Вц И Сц)
не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначены целые части значений а, b, с, операции Ии ИЛИ – поразрядные. Значения а, b, с, Хнач., Хкон., dХ ввести с клавиатуры.

Вот текст программы, конечно куча ошибок но не могу понять где(((((((((((

#pragma hdrstop

//---------------------------------------------------------------------------
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#pragma argsused
int main()
{
float a,b,c,d,f,dX,g,x,Xn,Xk;
cout<<"zadaite minim-e zna4enie, vvedite Xn="; cin>>Xn;;
cout<<"zadaite maxim-e zna4enie, vvedite Xk="; cin>>Xk;
cout<<"zadaite wag, vvedite dX="; cin>>dX;
cout<<"vvedite a="; cin>>a;
cout<<"vvedite b="; cin>>b;
cout<<"vvedite c="; cin>>c;
for(x=Xn;x<=Xk;x=x+dX)
{
int ac=(int)a;
int bc=(int)b;
int cc=(int)c;
if ((x+5<0)&&(c!=0))
if((ac&&bc)|(bc&&cc)=0)
cout<<(f=(1/((a*x))-b))<<endl;
else
cout<<"zna4enie F1="<<int((f=(1/((a*x))-b)))<<endl;
else
if((x+5>0)&&(c==0))
if((ac&&bc)|(bc&&cc)=0)
//cout<<(f=(x-a)/x)+5.5)<<endl;
printf("pri X=%.2f; F=%f\n",x,((x-a)/x))+5.5));

else
//cout<<"zna4enie F2="<<int(f=((x-a)/x)+5.5)<<endl;
printf("pri X=%.2f; F2=%i\n",x,int((x-a)/x)+5.5));
else
if((ac&&bc)|(bc&&cc)=0)
//cout<<(f=10*x/(c-4))<<endl;
printf("pri X=%.2f; F=%f\n",x,x/(-c));
else
//cout<<"zna4enie F3="<<int((f=10*x/(c-4)))<<endl;
printf("pri X=%.2f; F3=%i\n",x,int(10*x/(c-4)));
}
getch();
return 0;
}

//---------------------------------------------------------------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Shaman
сообщение 14.10.2011, 19:43
Сообщение #2





Группа: Модераторы
Регистрация: 1.12.2005
Из: OnLine
Пользователь №: 6 823



1. вместо float лучше использовать double, т.к. первый в конечном итоге приводится ко второму.

2. cout<<(f=(1/((a*x))-b))<<endl;
cout<<"zna4enie F1="<<int((f=(1/((a*x))-B)))<<endl;
возможно лишняя скобка

3. юзайте тэг [ code ] [ /code ] или [ codebox ] [ /codebox ]

4. эт нафига getch();

Сообщение отредактировал Shaman - 14.10.2011, 19:58
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Katalina1
сообщение 23.10.2011, 00:00
Сообщение #3





Группа: Новички
Регистрация: 14.10.2011
Пользователь №: 54 156



Цитата(Shaman @ 14.10.2011, 13:43) *
1. вместо float лучше использовать double, т.к. первый в конечном итоге приводится ко второму.

2. cout<<(f=(1/((a*x))-cool.gif)<<endl;
cout<<"zna4enie F1="<<int((f=(1/((a*x))-cool.gif))<<endl;
возможно лишняя скобка

3. юзайте тэг [ code ] [ /code ] или [ codebox ] [ /codebox ]

4. эт нафига getch();

____________________________________________________________
______________________
спасибо)))а теперь как к этому написать проверку)?)
1. проверка Xn и Xk
2.проверка dX тоесть не должно быть меньше нуля или больше Xk
3.проверка, чтоб функция была целая или фещественная
4.Хотяб 1 раз функция не определялась
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 20.1.2018, 19:45
Блог КАБiNET