Форум программистов, компьютерный форум CyberForum.ru

Доработайте пожайлуста!!! - C++

Восстановить пароль Регистрация
 
Krestonosets
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 25
24.03.2011, 00:06     Доработайте пожайлуста!!! #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int zad(float a, float b, float c, float Xn, float Xk, float dx)
{   
    scanf ("%f %f %f %f %f %f",&a,&b,&c,&Xn,&Xk,&dx);
    for( ;Xp<=Xk;Xp+=dx)
    if (c<0 && b!=0) 
        rez=a-Xn/(10-b);
    else
    if (Xn>0 && b==0)
        rez=(Xp-a)/(Xp-c);
    else 
        rez=(3*Xn+2/c);
    printf ("rez=%f",rez);
    return 0;
}
Выводит тоько одно значение, в чём ошибка?
Задание вот
Вычислить и вывести на экран в виде таблицы значения функции F(x) на интервале от Хнач. к Хкон. с шагом dx, где а, b, с — действительные числа. Функция F(x) должна принимать действительное значение, если выражение (Ац ИЛИ Вц) И (Ац ИЛИ Сц) не равняется нулю, и целое значение в другом случае. Через Ац, Вц и Сц обозначены целые части значений а, b, с операция ИЛИ – поразрядная. Значение а, b, с, Хнач., Хкон., dx ввести из клавиатуры. Каждая строка таблицы должна содержать значение аргумента, значения функции.
F= 1.a-Xn/(10-b), при c<0 и b!=0
2. rez=(Xp-a)/(Xp-c) при Xn>0 и b==0
3. (3*Xn+2/c) в других случаях.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.03.2011, 00:20     Доработайте пожайлуста!!! #2
Цитата Сообщение от Krestonosets Посмотреть сообщение
Выводит тоько одно значение, в чём ошибка?
а вы чего хотели? что вы написали то комп и делает, читайте учебник Си/С++ дальше, пройдете циклы и сделайте
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
24.03.2011, 00:30     Доработайте пожайлуста!!! #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int zad(float a, float b, float c, float Xn, float Xk, float dx)
{ 
    scanf ("%f %f %f %f %f %f",&a,&b,&c,&Xn,&Xk,&dx);
    for( ;Xp<=Xk;Xp+=dx)
    { // предполагаю, не хватало этих скобок
        if (c<0 && b!=0) 
            rez=a-Xn/(10-b);
        else if (Xn>0 && b==0)
            rez=(Xp-a)/(Xp-c);
        else 
            rez=(3*Xn+2/c);
        printf ("rez=%f",rez);
    }
    return 0;
}
Krestonosets
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 25
24.03.2011, 00:37  [ТС]     Доработайте пожайлуста!!! #4
Большое спасибо)
Yandex
Объявления
24.03.2011, 00:37     Доработайте пожайлуста!!!
Ответ Создать тему
Опции темы

Текущее время: 09:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru