Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2011, 14:36   #1
Art21
 
Регистрация: 24.03.2011
Сообщений: 3
Сообщение Циклические вычислительные процессы. Задача.

Я начал изучать С++ недавно, возникли трудности с решением задачи.

Вычислить и вывести на экран в виде таблицы значение функции F на интервале от Хнач. до Хкон. с шагом dX.
(функция внизу под текстом)
где a,b,c - действительные числа.
Функция F должна принимать действительное значение, если выражение
(Ац ИЛИ Вц) и (Ац ИЛИ Сц)
<- как правильно это описать?
не равно нулю, и целое значение в противном случае. Через Ац, Вц, Сц обозначены целые части a, b, c операции И и ИЛИ - поразрядные. Значения a, b, c, Хнач., Хкон., dX ввести с клавиатуры.

Помогите пожалуйста с идеей решения, решать не нужно...

Вот только что есть на данный момент:
Цитата:
#include <iostream.h>
#include <math.h>

using namespace std;

int main(){
int a, b, c, Xn, Xk, dX;
cout<<"Enter values:";
cout<<"\na: "; cin>>a;
cout<<"\nb: "; cin>>b;
cout<<"\nc: "; cin>>c;
cout<<"\nXn: "; cin>>Xn;
cout<<"\nXk: "; cin>>Xk;
cout<<"\ndX: "; cin>>dX;

while (Xn==Xk) {
cout<<"Please repeat data input: ";
cout<<"\nXn: "; cin>>Xn;
cout<<"\nXk: "; cin>>Xk;}


system("Pause");
}
Изображения
Тип файла: png v1.png (2.5 Кб, 73 просмотров)

Последний раз редактировалось Art21; 24.03.2011 в 15:07.
Art21 вне форума Ответить с цитированием
Старый 24.03.2011, 15:33   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
(Ац ИЛИ Вц) и (Ац ИЛИ Сц)<- как правильно это описать?
Ац, Вц, Сц обозначены целые части a, b, c
Цитата:
операции И и ИЛИ - поразрядные.
Так попробуйте
Код:
if (((static_cast<int>(ceil(a)) | static_cast<int>(ceil(b))) & (static_cast<int>(ceil(a)) | static_cast<int>(ceil(c)))) == 0) cout << static_cast<int>(f)
else cout << f;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 24.03.2011, 17:55   #3
Art21
 
Регистрация: 24.03.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
Так попробуйте
Код:
if (((static_cast<int>(ceil(a)) | static_cast<int>(ceil(b))) & (static_cast<int>(ceil(a)) | static_cast<int>(ceil(c)))) == 0) cout << static_cast<int>(f)
else cout << f;
тут маленькая ошибка

Код:
if (((static_cast<int>(ceil(a)) | static_cast<int>(ceil(b))) & (static_cast<int>(ceil(a)) | static_cast<int>(ceil(c)))) != 0) cout << static_cast<int>(f)
else cout << f;
Большое спасибо!
Art21 вне форума Ответить с цитированием
Старый 24.03.2011, 22:04   #4
Art21
 
Регистрация: 24.03.2011
Сообщений: 3
По умолчанию

Вот готовый код: (надеюсь правильный, мб кому приготится)
Цитата:
#include <iostream.h>
#include <math.h>

using namespace std;

int main(){
float a, b, c, x, Xn, Xk, dX, f;
cout<<"Enter values:";
cout<<"\na: "; cin>>a;
cout<<"\nb: "; cin>>b;
cout<<"\nc: "; cin>>c;
cout<<"\nXn: "; cin>>Xn;
cout<<"\nXk: "; cin>>Xk;
cout<<"\ndX: "; cin>>dX;

while (Xn==Xk) {
cout<<"Please repeat data input: ";
cout<<"Xn: "; cin>>Xn;
cout<<"Xk: "; cin>>Xk;}

if (((static_cast<int>(ceil(a)) | static_cast<int>(ceil(b))) &
(static_cast<int>(ceil(a)) | static_cast<int>(ceil(c)))) != 0)
{
cout<<" x "<<" F "<<endl;
for (x=Xn;x<=Xk;x+=dX)
{
if ((x<0) && (b!=0)) {f=a*pow(x,2)+b;
cout<<" "<<x<<" "<<" "<<f<<" "<<endl;}
if ((x>0) && (b==0)) {f=(x-a)/(x-c);
cout<<" "<<x<<" "<<" "<<f<<" "<<endl;}
else {f=x/c;
cout<<" "<<x<<" "<<" "<<f<<" "<<endl;}
}
}
else cout<<"Error";

system("Pause");
}
Art21 вне форума Ответить с цитированием
Старый 25.10.2011, 13:19   #5
-=BlackDevil=-
Новичок
Джуниор
 
Регистрация: 25.10.2011
Сообщений: 2
По умолчанию

Вычислить и вывести на экран в виде таблицы значения функции F на интервалеот Хнач. до Хкон. с шагом dХ.

- ax2 при х < 0 и b  0
F = (a-x)/(cx) при х > 0 и b = 0
x/c в остальных случаях
где а, b, с - действительные числа.

Функция F должна принимать действительное значение, если выражение (Ац МОД2 Вц) И НЕ(Ац ИЛИ Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна¬чены целые части значений а, b, с, операции И, ИЛИ и МОД2 (сложение по мо¬дулю 2) - поразрядные. Значения а, b, с, Хнач., Хкон., ёХ ввести с клавиатуры.
-=BlackDevil=- вне форума Ответить с цитированием
Старый 25.10.2011, 13:20   #6
-=BlackDevil=-
Новичок
Джуниор
 
Регистрация: 25.10.2011
Сообщений: 2
По умолчанию

#include<stdio.h)
#include <math.h)
int main(int argc, char* argy[])
{
float a,b,c;
float StartX, EndX, dX;
float F;
printf("Vvedite:");
printf("\ta = "); scanf("%f", &a);
printf("\th = "); scanf("%f", &b);
printf("\tc = "); scanf("%f", &c);
printf("\tx nac. = "); scanf("%f", &StartX);
printf("\tx kon. = "); scanf("%f", &EndX);
printf("\tDX = "); scanf("%f", &dX);
for (float x = StartX; x <= EndX; x+=dX)
if (x<0 && b !=0)
F = -a * x*x;
else if (x > 0 && b ==o)
F = (a-b) / (c*x);
else F = x/c;
if
(!(((long)floor(a) ^ (long)floor(b)) &
!((long)floor(a) | (long)floor(c))))
printf("x = %.2f\tF = %.0f\n", x, F);
else
printf("x = %.2f\tF = %.2f\n", x, F);

return 0;
}
правильно?
-=BlackDevil=- вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Циклические вычислительные процессы. Задача табулирования. Галина-90 Паскаль, Turbo Pascal, PascalABC.NET 4 15.12.2010 21:03
Циклические вычислительные процессы. Pavel_Ghost Помощь студентам 2 23.05.2010 19:25
С++ Циклические вычислительные процессы. bpystep Помощь студентам 19 19.09.2009 23:27
ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ Urz-3 Помощь студентам 2 07.06.2009 18:56