Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/12: Рейтинг темы: голосов - 12, средняя оценка - 4.58
 Аватар для Sacrament
4 / 1 / 0
Регистрация: 10.05.2007
Сообщений: 25

exp ругается=) (или задание для первого курса)

06.11.2008, 20:50. Показов 2406. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вообщем, дамы и господа. Вопрос довольно смешной. Только начала изучать C. Есть следующие задание. Нужно создать новый проект, который содержит программу для вычисления выражений y1 и y2. Величины a, b и c задать в программе согласно варианту, а величины n и x прочитать с клавиатуры. Результат вычисления величин y1 и y2 вывести на экран (для этого использовать функцию printf().

*) – переменная n должна быть целочисленной, а x – вещественной.
Вот мои сталые:a=3;b=1;c=7. Знаю, прога элементарная, но...учитывая то, что я второй раз в жизни вижу вижуал, да и вообще работаю из С, у меня возникли проблемы. Прога вроде считает, но число нереальное. Когда смотрю прогу по шагам, вижуал пишет, что n не преобретает число, которое я ему задаю с клавы. Вот мой код:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <math.h>
#define _USE_MATH_DEFINES
#include <cmath>
#include <conio.h>
int main( void )
{
    float y1,y2,x,p,n;   //числа з плаваючою точкою//
    int a,b,c;
    a=3;
    b=1;
    c=7;    
    printf("a=%d,b=%d,c=%d,\n",a,b,c);
    printf("Enter x,n\n");
    scanf("%f",&x);
    scanf("%f",&n);
    p=-c*x*x+b*x+a;
    y1=exp(p)+exp((log(c+fabs(pow(b-a,n)+3)))/3)/(a*a+b*b);
    y2=((cos(2*M_PI*n/a))/(pow(sin(n*M_PI/b),2)) - log(tan(n*M_PI/c)))/(2*c);
    printf("y1=%f\n",y1);
    printf("y2=%f\n",y2);
    getch(); //чекаєм вводу символу//
    return 0;
}
Задание в приложение к посту. Огромная просьба глянуть че не так. Преподаватель дал подсказку, что дело в типе данных. Да я и сама подозреваю, что что-то не то с pow. Да, возможно глупо, но повторюсь, это мой первый опыт)
Вложения
Тип файла: doc Лабораторная работа.doc (21.5 Кб, 42 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2008, 20:50
Ответы с готовыми решениями:

задание промежутков для exp-функции
Основная проблема заключается в том, что при задании параметров d и x, w в виде интервала значений, графики ни в какую не рисуются. Если...

Задача по С++ для первого курса
Здравствуйте. Задали написать программу для решения этой формулы: Составил вот такой код: #include &lt;cstdio&gt; #include...

Определённый интеграл для первого курса
Ребята, отчего отталкиваться?? Сижу туплю уже два часа над этим примером.. \int_{0}^{1}\frac{(x^2+3x+1)dx}{(x+1)(x^2-5x+6)}

3
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
06.11.2008, 21:43
Я вижу только, что формула для y1 в программе не соответствует формуле для y1 в задании.
Code
1
2
//Вроде так
y1=exp(p)+exp(pow(c+pow(fabs(b-a),n)+3,1/3))/(a*a+b*b);
переменная n должна быть целочисленной, а x – вещественной
А, вот теперь ещё увидел... Тогда
Code
1
2
3
int n;
//И соответственно
scanf("%d",&n);
1
 Аватар для Sacrament
4 / 1 / 0
Регистрация: 10.05.2007
Сообщений: 25
06.11.2008, 23:16  [ТС]
Огромное спасибо за совет, но есть одно маленькое но..моего преподователя изначально очень смущает расчет, тоесть полученый результат. Навожу скрин, что будет, если выбрать числа x, n соотвественно 1 и 2. Говорит, мол считал "вручную", такого числа быть не может.

P.S. А код я исправила =)
#include <stdio.h>
#include <math.h>
#define _USE_MATH_DEFINES
#include <cmath>
#include <conio.h>
int main( void )
{
float y1,y2,x,p,; //числа з плаваючою точкою//
int a,b,c,n;
a=3;
b=1;
c=7;
printf("a=%d,b=%d,c=%d,\n",a,b,c);
printf("Enter x,n\n");
scanf("%f",&x);
scanf("%d",&n);
p=-c*x*x+b*x+a;
y1=exp(p)+exp(pow(c+pow(fabs(b-a),n)+3,1/3))/(a*a+b*b);
y2=((cos(2*M_PI*n/a))/(pow(sin(n*M_PI/b),2)) - log(tan(n*M_PI/c)))/(2*c);
printf("y1=%f\n",y1);
printf("y2=%f\n",y2);
getch(); //чекаєм вводу символу//
return 0;
}
Насчет степеня кубического....я конечно же не возражаю, ибо пока на стадии чайника в С, но..нам советовали весь многочлен делить на три, мол это равносильно умножению на 1/3. Умножать на 1/3 не советуют, так как машина распознает это как 0. Поэтому эта строчка меня немного смущает....или я неправильно толкую....растолкуйте тогда, пожалуйста, Вы!
Миниатюры
exp ругается=) (или задание для первого курса)  
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
07.11.2008, 00:00
Насчёт большого числа: математически синус равен нулю и получается деление на ноль. В программе из-за ошибок точности получается очень маленькое число, при делении на него - очень большое.
Цитата Сообщение от Sacrament Посмотреть сообщение
Насчет степеня кубического....я конечно же не возражаю, ибо пока на стадии чайника в С, но..нам советовали весь многочлен делить на три, мол это равносильно умножению на 1/3. Умножать на 1/3 не советуют, так как машина распознает это как 0. Поэтому эта строчка меня немного смущает....или я неправильно толкую....растолкуйте тогда, пожалуйста, Вы!
1/3, действительно, может нулём получиться, т.к. оба числа целые, поэтому лучше писать 1.0/3.0 - тогда нормально должно быть.
pow(x,y)=exp(y*log(x)) при x>0, y>=0, но pow и существует, чтобы не писать лишних всяких логарифмов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.11.2008, 00:00
Помогаю со студенческими работами здесь

В двумерном массиве хранится информация о количестве студентов в той или иной группе каждого курса института с первого п
В двумерном массиве хранится информация о количестве студентов в той или иной группе каждого курса института с первого по пятый (в первой...

В двухмерном массиве хранится информация о количестве студентов в той или иной группе каждого курса института с первого по пятый
В двухмерном массиве хранится информация о количестве студентов в той или иной группе каждого курса института с первого по пятый (в первой...

Программа для первого курса (определяет количество и произведение положительных значений функции)
Нужно помощь в написание проги, которая определяет количество и произведение положительных значений функции y=cosx для всех целых x от 2 до...

Простые задачи для первого курса! Прошу, если есть возможность объясните //
1) Дано 3 цифры. Напишите программу, которая выведет в одну линию на экран 5 чисел, состоящих из комбинаций этих цифр, взятые каждая по 1...

2 задачки первого курса
Приветствую уважаемое сообщество. Помогите написать 2 задачки знакомому студенту 1 курса. Номер 4 и 5. 6-ую я написал))


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru