Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 08.01.2010
Сообщений: 24
1

Проверьте задачку по циклам, неправильно работает. [думаю что неправильно]

14.10.2012, 18:54. Просмотров 749. Ответов 6
Метки нет (Все метки)


Спасибо что решили зайти.
Задание выгладит так:

А результат выплнения:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <clocale>
 
int main(){
    setlocale (LC_ALL, "Russian");
    double a=5.4, h=0.4, y;
 
    for (double x=2.3; x<=8.9; x+=h)
        if (x<=a){
            y=pow(sin(a*x),3)/(a*x+5);
            printf("Условие когда x<=a | y=%8.2f\n",y);
        }
        else{
        y=exp(-a+x)/(a+cos(a*x),3); 
        printf("Условие когда x>a  | y=%8.2f\n",y);
        }
    getch();
}
Смущают строки вычисления игрека. особенно правильность возведения "e" в степень. Ну и в целом, ответы кажутся неадекватными, в чем может быть проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2012, 18:54
Ответы с готовыми решениями:

проверьте что неправильно
Такая задача. Даны целые числа a, n&gt;0, x1...xn. Определить каким по счету идет в заданной...

Неправильно работает цикл for, и функции работают неправильно
1) Неправильно работает цикл for(k=0...). Входит только 1 раз, дальше вылетает. Делал пошаговую...

Как работает else if? Что я сделал неправильно?
Недавно начал учить С. Сегодня тренеровался и написал код: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt;...

что то нажал на клавиатуре. теперь она работает неправильно
Сидел в инете, писал сообщение и что то нажал. Теперь клава гонит. Вместо буквы &quot;е &quot; включается...

6
4294 / 1416 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
14.10.2012, 19:02 2
C++
1
y=exp(-a-x)/(a+pow(cos(a*x),3));
Минус там в степени перед скобкой.
Да и в знаменателе отдельно в степени.
0
0 / 0 / 0
Регистрация: 08.01.2010
Сообщений: 24
14.10.2012, 19:22  [ТС] 3
Цитата Сообщение от BumerangSP Посмотреть сообщение
Минус там в степени перед скобкой.
минус перед скобкой выдает ошибку.
Знаменатель исправил:
y=exp(-a+x)/(a+pow(cos(a*x),3));

Но все-же мне не нравится первый "y", кажется записано правильно, а результат доверия не вызывает.
0
4294 / 1416 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
14.10.2012, 19:33 4
Я уже исправил этот минус: exp(-a-x)
x тоже со знаком "минус".
Что касается первого y: запись вроде верная. Если сомневаетесь, то можно с ручкой на листочке посчитать хотя бы пару первых итераций.
0
0 / 0 / 0
Регистрация: 08.01.2010
Сообщений: 24
14.10.2012, 20:06  [ТС] 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <clocale>
 
int main(){
    setlocale (LC_ALL, "Russian");
    double a=5.4, h=0.4, y;
 
    for (double x=2.3; x<=8.9; x+=h)
        if (x<=a){
            y=pow(sin(a*x),3)/(a*x+5);
            printf("Условие когда x<=a | y=%10.6f\n",y);
        }
        else{
        y=exp(-a-x)/(a+pow(cos(a*x),3));    
        printf("Условие когда x>a  | y=%11.7f\n",y);
        }
    getch();
}
Результат
Это можно считать нормальным ответом?
0
4294 / 1416 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
14.10.2012, 20:21 6
Наверное...Вот, например, самая первая подстановка
1
0 / 0 / 0
Регистрация: 08.01.2010
Сообщений: 24
14.10.2012, 20:36  [ТС] 7
Вроде бы убедили) BumerangSP, Благодарю за помощь, тему можно в архив.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2012, 20:36

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Неправильно разделила жесткий диск, часть томов не работает, что делать?
По ошибке разделила жесткий диск на 5 томов. Пятый оказался нерабочим. Соединила пятый с четвёртым,...

Проверьте код, почему он считает неправильно?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...

Что работает неправильно в коде для подбора пароля зашифрованного crypt (хакерское задание CS50 №2)
Подскажите, я уже целый день просидел - не смог найти проблему. GDB показывает что все работает как...

Почему смена текста работает только один раз? Что неправильно в коде и почему?
Нужно чтобы при щелчке мыши на поверхности кнопки текст метки Label изменялся на текст окна...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.