Консультация онлайн # 202103

Раздел: С / С++
Автор вопроса: Teddy (Посетитель)
Дата: 23.01.2022, 14:06 Консультация неактивна
Поступило ответов: 1
Здравствуйте! У меня возникли сложности с таким вопросом:
Используя условные операторы if, else написать код на С++. Пока с математическими операторами мало знаком и не имею понятия как их использовать в коде программы.

Ответ # 1, Megaloman (Мастер-Эксперт)

Можно так:
Код
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main() {
    const float xmin = -2.; 		// минимальное   значение x
    const float xmax = 1.; 		// максимальное  значение x
    const float xdel = 0.2;             // шаг изменения значения x

    const int a = 10, b = 1; 		

    float x, xx;
    int n, y;

    clrscr();                 	// очистка экрана

    for (n = 0; n <= (int)((xmax-xmin)/xdel + 0.5); n++) {
	x = xmin + xdel * n;
	xx = x*x - 5*x;

	if (xx < 0)             {y = a + b; printf("\nx = %6.2f      x^2-5x =%6.2f< 0   y=a+b=%3d", x, xx, y);};
	if (0 <= xx && xx < 10) {y = a - b; printf("\nx = %6.2f  0<= x^2-5x =%6.2f< 10  y=a-b=%3d", x, xx, y);};
	if (xx >= 10)           {y = a * b; printf("\nx = %6.2f      x^2-5x =%6.2f>=10  y=a*b=%3d", x, xx, y);};
    };
}
Если принципиально надо if else
Код
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main() {
    const float xmin = -2.; 		// минимальное   значение x
    const float xmax = 1.; 		// максимальное  значение x
    const float xdel = 0.2;             // шаг изменения значения x

    const int a = 10, b = 1; 		

    float x, xx;
    int n, y;

    clrscr();                 	// очистка экрана

    for (n = 0; n <= (int)((xmax-xmin)/xdel + 0.5); n++) {
	x = xmin + xdel * n;
	xx = x*x - 5*x;

	if (xx < 0)                  {y = a + b; printf("\nx = %6.2f      x^2-5x =%6.2f< 0   y=a+b=%3d", x, xx, y);}
	else if (0 <= xx && xx < 10) {y = a - b; printf("\nx = %6.2f  0<= x^2-5x =%6.2f< 10  y=a-b=%3d", x, xx, y);}
	else                         {y = a * b; printf("\nx = %6.2f      x^2-5x =%6.2f>=10  y=a*b=%3d", x, xx, y);};
    };
}

Последнее редактирование 24.01.2022, 09:36 Megaloman (Мастер-Эксперт)


Megaloman

Мастер-Эксперт
23.01.2022, 16:47
5
Спасибо большое. Дальше сам, посмотрю ка операторы работают в редакторе кода.

Мини-форум консультации # 202103

Гордиенко Андрей Владимирович

Мастер-Эксперт

ID: 17387

324260

= общий =    23.01.2022, 14:12
Вы снова "забыли" дать полный текст задания.
=====
Facta loquuntur.
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.