Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / [С++] Помогите решить задачу... / 10 сообщений из 10, страница 1 из 1
18.10.2005, 12:09
    #33330025
fl00
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[С++] Помогите решить задачу...
Помоните решить задачу в С++.

Нужно составить программу табулирования функции.

у= exp(x), если x<п/2
y= sin(x)/x, если x<п/2, xє[0;п], hx=п/4
у= 0, если x<п/2

п- это пи;
Предполагал сделать эту программу так, но не получается...


Код: plaintext
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 <math.h>
#include <iostream>


int main ()
{
 
 float x;
 float y;
 float pi= 3 . 14 ;
 
 for (x= 0 ; x<=pi; x+=pi/ 4 )
  {
   if (x>=pi/ 2 )
    {
     if (x!=pi/ 2 )
      {
       y=sin(x)/x;
      }
     else 
      {
       y= 0 ;
      }
     } 
   else 
    {
     y=exp(x);
    }
  }  
 std::cout << y << "\n"; 
 return  0 ; 
}       

И еще, число пи нужно определять, или оно есть в каком-нибудь модуле?
...
Рейтинг: 0 / 0
18.10.2005, 12:47
    #33330177
Kornjushin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[С++] Помогите решить задачу...
Pi определено в math.h

пресмотри граничные условия
у= exp(x), если x<п/2
y= sin(x)/x, если x<п/2 , xє[0;п], hx=п/4
Функция не мижет иметь два разных значения в одной и той же точке
...
Рейтинг: 0 / 0
18.10.2005, 13:01
    #33330226
fl00
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[С++] Помогите решить задачу...
авторпресмотри граничные условия

да.. недосмотрел, вот такое условие:

у= exp(x), если x<п/2
y= sin(x)/x, если x>п/2, xє[0;п], hx=п/4
у= 0, если x=п/2

А если пи определено в math, её нужно обьявлять вначале программы или нет? И его так и надо писать "pi"?

И не подскажите, что это за ошибка :
test.cpp:32:2: warning: no newline at end of file
...
Рейтинг: 0 / 0
18.10.2005, 13:29
    #33330322
Kornjushin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[С++] Помогите решить задачу...
Sorry Pi нет в math.h
Опять условия не до конца верно
x>п/2, xє[0;п]
я понимаю что хє[п/2;п]

я меня выскочила другая ощибка, ругается на std, убрал все нормально. Компилировал в BC5.
...
Рейтинг: 0 / 0
18.10.2005, 13:36
    #33330347
Kornjushin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[С++] Помогите решить задачу...
#include <math.h>
#include <iostream>

float pi=3.14;
float func(float x )
{
if (x<pi/2) return exp(x);
else if (x==pi/2) then return 0;
else if (x>pi/2) and(x<=0) return sin(x)
}

void main ()
{
for (int x=0; x<=pi; x+=pi/4) cout << 'y= '<<func(x)<<"\n";
return;
}
...
Рейтинг: 0 / 0
18.10.2005, 14:33
    #33330539
fl00
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[С++] Помогите решить задачу...
Немного переделал. Много ошибок выдавал... Компилил g++ и gcc
Вот,что получил:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
#include <math.h>
#include <iostream>

float pi= 3 . 14 ;


float func(float x )
{
if (x<pi/ 2 ) return exp(x);
else if (x==pi/ 2 )  return  0 ;
else if (x>pi/ 2 ) return sin(x)/x;
}

int main ()
{
for (float x= 0 ; x<=pi; x+=pi/ 4 ) 
 {
   float y=func(x);
   std::cout << y <<"\n";
 }  
return  0 ;
}

Но всеравно выдает :test2.cpp:16:2: warning: no newline at end of file
И не подскажите, что за модуль <conio.h>?
...
Рейтинг: 0 / 0
18.10.2005, 17:47
    #33331364
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[С++] Помогите решить задачу...
Сссстуденты...
Во первых, зачем вам понадобился С++? Решаете задачу на чистом С, с единственной командой вывода от С++
Во вторых, константа Пи действительно определена в math.h только называется она M_PI. А еще там есть M_PI_2 (Пи/2) и M_PI_4 (Пи/4). А еще там много других полезных констант. Открываешь math.h в текстовом редакторе и смотришь.
В третьих, все используемые вами функции считают в double а не в float. Зачем вы сознательно режете точность не знает никто.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
#include <math.h>
#include <stdio.h>

double func(double x )
{
  if (x < M_PI_2) return exp(x);
  else if (x == M_PI_2)  return  0 ;
  else return sin(x)/x;
}

int main ()
{
  double x, y;
  for (x= 0 ; x<= M_PI; x += M_PI_4) 
  {
    y=func(x);
    printf("func(%f)=%f\n", x, y);
  }  
  return  0 ;
}
...
Рейтинг: 0 / 0
19.10.2005, 10:00
    #33332214
fl00
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[С++] Помогите решить задачу...
Спасибо за помощь! Очень выручили :)
...
Рейтинг: 0 / 0
18.12.2005, 23:33
    #33443159
Zep
Zep
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[С++] Помогите решить задачу...
Ребята, а кто-нибудь может написать подобную прогу чисто на С, только для произвольных начальных значений.
На всякий случай привожу ниже само ТЗ :

" Спроектировать программу табуляции n-мерной функции. Аргументы задаются тройкой :
Min, max, shag.
Функции ввода и табуляции должны быть универсальны"

Заранее благодарен
...
Рейтинг: 0 / 0
18.12.2005, 23:48
    #33443167
Гадёныш
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[С++] Помогите решить задачу...
#include <math.h>
#include <stdio.h>
#include <conio.h>

double func(double x )
{
if (1 условие) return (функция 1);
else if (2 условие) return (фунция 2);
else if (n-1 условие) return (функцию n-1);
return (n функцию);
}

int main ()
{
clrscr();
double x, y;
for (x=(нач интервала); x<= (конец интервала); x += (шаг))
{
y=func(x);
printf("func(%f)=%f\n", x, y);
}
getch();
return 0;
}

воть те шаблон... я так понял лаба №2 для первого курса програмеров х)

прада у нас на чистом с надо было...

для удобства добавлены функции clrscr() - очистка консоли и getch() - ожидание нажатия клавиши... всё из conio.h
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / [С++] Помогите решить задачу... / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]