Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Drake93
1 / 1 / 0
Регистрация: 27.10.2010
Сообщений: 21
#1

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

14.09.2011, 23:08. Просмотров 1100. Ответов 23
Метки нет (Все метки)

C++
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
#include<stdio.h>
#include<conio.h>
main()
{
float xn,xk,dx,k=0,x,a,b,c;
float f;
printf("vvedite: nachalo funkcii,konec funkcii,shag,a,b,c\n");
scanf("%f%f%f%f%f%f",&xn,&xk,&dx,&a,&b,&c);
printf("x       f\n");
printf("\n");
for(x=xn;x<=xk;x+=dx)
{
if (x<1 && c!=0)
f=((a*x*x)+(b/c));
else
if (x>15 && c==0)
f=(x-a)/((x-c)*(x-c));
else
f=(x*x)/(c*c);
if (!(int(a)|int(b)) & (int(b)|int(c)))
{
printf("%4.1f    = %4.2f    \n",x,f);
}
else {printf("%4.1f    = %2d\n",x,int(f));}
}
getch();
}
Продолжение задачи:
Функция F должна принимать действительное значение, если выражение (Aц И Bц) МОД2 Cц не равно нулю, и целое значение в противном случае . Через Aц , Bц, и Сц обозначены целые части значений a,b,c, операции И и МОД2 (сложение по модулю 2) - поразрядные. Значения a,b,c, Хнач ,Xкон, dx ввести с клавиатуры.

Вопрос в именно в выделенной части задания. Как реализовать это? в коде,видимо, есть ошибки.

А вот начало задачи:
0
Миниатюры
Доработайте пожалуйста!  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2011, 23:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Доработайте пожалуйста! (C++):

Доработайте пожайлуста!!! - C++
int zad(float a, float b, float c, float Xn, float Xk, float dx) { scanf (&quot;%f %f %f %f %f %f&quot;,&amp;a,&amp;b,&amp;c,&amp;Xn,&amp;Xk,&amp;dx); for(...

немогу доработать с вводам документа кто сможет доработайте - C++
Число делится на 11, если разность между суммой цифр, стоящих на не- четных местах, и суммой цифр, стоящих на четных местах, кратна 11....

Ребят доработайте код программы (программа сортировки чисел методом Шелла) - C++
Нужна помощь Есть программа сортировки чисел методом шелла ее надо дописать чтоб она спрашивала 1 - введите сами 2 – рандом Если...

Пожалуйста покажите где ошибка и как ее исправить. Пожалуйста - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; #include...

Ребят пожалуйста отредактируйте программу пожалуйста Assembler - Assembler
2.4. Дан двумерный массив целых чисел размером m*n. 1-Заменить минимальный по модулю элемент каждого столбца на противоположный. ...

Очень нужно пожалуйста пожалуйста - Delphi
Укажите ошибки в следущих описаниях

23
KING1994
-68 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
15.09.2011, 00:37 #16
штобы взять целую часть от числа перед ним нужно дописать (int)
1
Drake93
1 / 1 / 0
Регистрация: 27.10.2010
Сообщений: 21
15.09.2011, 00:40  [ТС] #17
Цитата Сообщение от KING1994 Посмотреть сообщение
штобы взять целую часть от числа перед ним нужно дописать (int)
спс что объяснил, а как реализовать в моём коде без твоих наворотов это -(Aц И Bц) МОД2 Cц не равно нулю, и целое значение в противном случае ?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7496 / 4611 / 694
Регистрация: 29.11.2010
Сообщений: 12,626
15.09.2011, 00:45 #18
C
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
32
33
34
35
36
37
38
39
40
41
#include <conio.h>
#include <stdio.h>
#include <math.h>
 
float F(float x, float a, float b, float c)
{
      float f;
      if (x < 1 && c != 0) /* && означает и */
          f = a * pow(x, 2) + b/c; /* pow - возведение в степень */
          else
          {
              if (x > 15 && c == 0)
                  f = (x-a) / pow(x-c, 2);
              else
              f = pow(x/c, 2);
          }
      return f;
}
 
int main()
{
    float x1, x2, dx, a, b, c;
    printf("Enter start x: ");
    scanf("%f", &x1);
    printf("Enter final x: ");
    scanf("%f", &x2);
    printf("Enter step: ");
    scanf("%f", &dx);
    printf("Enter a: ");
    scanf("%f", &a);
    printf("Enter b: ");
    scanf("%f", &b);
    printf("Enter c: ");
    scanf("%f", &c);
    for (float x = x1 ; x <= x2; x += dx)
    {
        printf("%.2f  %.4f\n", x, F(x, a, b, c));
    }
    getch(); /* пауза */
    return 0;
}
Добавлено через 3 минуты
Цитата Сообщение от KING1994 Посмотреть сообщение
хотя лучше void main() функция не возвращает никакого значения для int main() требуетса
C++
1
return 0;
по стандарту принято писать
Код
int main()
а
Код
return 0;
пишется для грамотного завершения работы программы
1
Drake93
1 / 1 / 0
Регистрация: 27.10.2010
Сообщений: 21
15.09.2011, 00:50  [ТС] #19
Цитата Сообщение от MrGluck Посмотреть сообщение
C
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
32
33
34
35
36
37
38
39
40
41
#include <conio.h>
#include <stdio.h>
#include <math.h>
 
float F(float x, float a, float b, float c)
{
      float f;
      if (x < 1 && c != 0) /* && означает и */
          f = a * pow(x, 2) + b/c; /* pow - возведение в степень */
          else
          {
              if (x > 15 && c == 0)
                  f = (x-a) / pow(x-c, 2);
              else
              f = pow(x/c, 2);
          }
      return f;
}
 
int main()
{
    float x1, x2, dx, a, b, c;
    printf("Enter start x: ");
    scanf("%f", &x1);
    printf("Enter final x: ");
    scanf("%f", &x2);
    printf("Enter step: ");
    scanf("%f", &dx);
    printf("Enter a: ");
    scanf("%f", &a);
    printf("Enter b: ");
    scanf("%f", &b);
    printf("Enter c: ");
    scanf("%f", &c);
    for (float x = x1 ; x <= x2; x += dx)
    {
        printf("%.2f  %.4f\n", x, F(x, a, b, c));
    }
    getch(); /* пауза */
    return 0;
}
Добавлено через 3 минуты


по стандарту принято писать
Код
int main()
а
Код
return 0;
пишется для грамотного завершения работы программы
Огромное спасибо! а то через 6 часов сдавать уже))
0
MrGluck
Модератор
Эксперт CЭксперт С++
7496 / 4611 / 694
Регистрация: 29.11.2010
Сообщений: 12,626
15.09.2011, 01:00 #20
Цитата Сообщение от Drake93 Посмотреть сообщение
Огромное спасибо! а то через 6 часов сдавать уже))

Не по теме:

Удачи. Первые шаги у вас хорошие.

0
KING1994
-68 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
15.09.2011, 15:42 #21
MrGluck,можно и void main().

Добавлено через 3 минуты
Drake93,вот ответ на ваш вопрос:
C++
1
2
double a=2,9;
int b=(int)a;
переменной b будет присвоено значения 2 ибо дробовая часть переменной a откидаетса.
Ето не навороты а очень полезная вещь)

Добавлено через 1 минуту
ток поправьте a=2.9 а не 2,9
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
15.09.2011, 16:12 #22
Цитата Сообщение от KING1994 Посмотреть сообщение
можно и void main().
Не можно. Стандарт не предполагает, что функция main будет иметь тип возвращаемого значения void.
Компиляторы, которые компилируют такой код, не соответствуют стандарту.
0
KING1994
-68 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
15.09.2011, 16:39 #23
У меня все отлично компилирует даже
C++
1
2
3
bool main();
...
return true;
Visual studio 2010 Ultimate у меня
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
15.09.2011, 16:47 #24
KING1994, и что это доказывает? Как я уже сказал, те компиляторы, что компилируют любой вариант, кроме
C++
1
2
int main();
int main(int argc, char *argv[]);
не полностью отвечают стандарту. У вас может компилироваться что угодно, даже просто main(), но такой код будет не переносим.
0
15.09.2011, 16:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2011, 16:47
Привет! Вот еще темы с ответами:

с++ пожалуйста - C++
Дано натуральне число n. Простим називається число, що має тільки два дільники – саме число й одиницю. Вивести всі прості числа, що ме- нші...

пожалуйста - MS Access
помогите где можно найт курсовую по СУБД на ACCESS НА ТЕМУ &quot;Общежитие&quot;

ДУ... пожалуйста.... - Дифференциальные уравнения
помогите пожалуйста решить до завтра.... очень нужно... заранее спасибо))

пожалуйста... - Delphi
дана последовательность целых чисел,заканчивающихся числом С(константа)(С является признаком ввода и в саму последовательность не...


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

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

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