Вопрос задан 13.11.2023 в 14:55. Предмет Информатика. Спрашивает Эндеров Егор.

Подскажите в чем ошибка. Считает до бесконечности каждое значение с++#include #include #include

int main(void) { system("chcp 1251>nul"); double x, y; printf("Введите x="); scanf("%/y", &x); if (x <= 0) y = pow(x, 4); else (x > 0); y = log10(x); scanf("%/y", &x, &y); printf("x=%3f\n", x); printf("y=%3f\n", y); return 0;}
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кулаков Максим.

Куча ошибок, и это можно сказать СИ, а не С++.

1. строка со считыванием x, "%/y" - неизвестно вообще как это ты смог придумать, чтобы считать вещественное число используем "%f" или "%lf".

2. Блок else означает иначе, он не подразумевает проверку какого либо условия, чтобы проверить еще одно условие мы используем "else if", также не нужна точка с запятой после этого блока.

3. Зачем-то в конце программы ты считываешь снова X и Y с клавиатуры, я так понимаю, это не нужно( в ином случае всё что было выше не имеет смысла).

#include<stdio.h>

#include<math.h>

#include<stdlib.h>

int main(void) {

system("chcp 1251>nul");

double x, y;

printf("Введите x=");

scanf("%lf", &x);

if (x <= 0)

 y = pow(x, 4);

else if (x > 0)

 y = log10(x);

printf("x=%3f\n", x);

printf("y=%3f\n", y);

return 0;

}

0 0
Отвечает Обидина Анастасия.

Ответ:

#include <stdio.h>  

#include <stdlib.h>  

int main ()  

{  

system("chcp 1251>nul");  

 

int x, y, sum=0;  

 

printf(" x=");

scanf("%d", &x);  

printf(" y= ");  

scanf("%d", &y);  

while (x<=y && x>0 && y>0)  

 

{  

if (x%4==0)  

{  

sum+=x;  

}  

x++;  

}  

printf("summa = %d\n", sum);  

system("pause>nul");  

return 0;  

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Я могу помочь вам с вашим кодом на C++. Ваша ошибка заключается в том, что вы используете неправильный формат для ввода и вывода чисел с плавающей запятой. Вы должны использовать %lf, а не %/y. Кроме того, вы не нуждаетесь в повторном вызове scanf ("%/y", &x, &y) после вычисления y. Это приводит к тому, что программа ждет ввода, которого вы не даете. Вот исправленный код:

#include #include #include int main(void) { system("chcp 1251>nul"); double x, y; printf("Введите x="); scanf("%lf", &x); if (x <= 0) y = pow(x, 4); else // (x > 0) y = log10(x); // scanf("%/y", &x, &y); // не нужно printf("x=%f\n", x); printf("y=%f\n", y); return 0; }

Я надеюсь, что это поможет вам. Если у вас есть еще вопросы, я буду рад ответить на них.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос