powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / [С++] Помогите решить задачу...
10 сообщений из 10, страница 1 из 1
[С++] Помогите решить задачу...
    #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
[С++] Помогите решить задачу...
    #33330177
Kornjushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pi определено в math.h

пресмотри граничные условия
у= exp(x), если x<п/2
y= sin(x)/x, если x<п/2 , xє[0;п], hx=п/4
Функция не мижет иметь два разных значения в одной и той же точке
...
Рейтинг: 0 / 0
[С++] Помогите решить задачу...
    #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
[С++] Помогите решить задачу...
    #33330322
Kornjushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sorry Pi нет в math.h
Опять условия не до конца верно
x>п/2, xє[0;п]
я понимаю что хє[п/2;п]

я меня выскочила другая ощибка, ругается на std, убрал все нормально. Компилировал в BC5.
...
Рейтинг: 0 / 0
[С++] Помогите решить задачу...
    #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
[С++] Помогите решить задачу...
    #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
[С++] Помогите решить задачу...
    #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
[С++] Помогите решить задачу...
    #33332214
fl00
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за помощь! Очень выручили :)
...
Рейтинг: 0 / 0
[С++] Помогите решить задачу...
    #33443159
Zep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zep
Гость
Ребята, а кто-нибудь может написать подобную прогу чисто на С, только для произвольных начальных значений.
На всякий случай привожу ниже само ТЗ :

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

Заранее благодарен
...
Рейтинг: 0 / 0
[С++] Помогите решить задачу...
    #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
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / [С++] Помогите решить задачу...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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