Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Ирина Михайлова Ученик (128), открыт 3 недели назад
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;

int main()
{
double xнач, xкон, dx, x, y, r;
cout « "r = ";
cin » r;
cout « "xнач = ";
cin » xнач;
cout « "xкон = ";
cin » xкон;
cout « "dx = ";
cin » dx;

cout « " x | y " « endl;
cout « "--------------------" « endl;

for (x = xнач; x <= xкон; x += dx)
{
if (x <= -4)
y = -3;
else if (x <= -3)
y = 2 * x + 8;
else if (x <= 3)
y = sqrt(r*r - pow(x - 1, 2)); // использование r здесь
else if (x <= 8)
y = 0.6 * (x - 3);
else
y = 3;

cout « fixed « setw(5) « setprecision(1) « x « " | " « setw(5) « setprecision(1) « y « endl;
}

return 0;
}
6 ответов
Professional Professional Мудрец (15718) 3 недели назад
Конечно! Ваш код имеет несколько синтаксических ошибок, в основном связанные с использованием оператора `«` вместо `<<` для вывода в консоль. Также есть потенциальные логические ошибки. Вот исправленная версия вашего кода:

```cpp
#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

int main() {
double xнач, xкон, dx, x, y, r;
cout << "r = ";
cin >> r;
cout << "xнач = ";
cin >> xнач;
cout << "xкон = ";
cin >> xкон;
cout << "dx = ";
cin >> dx;

cout << " x | y " << endl;
cout << "--------------------" << endl;

for (x = xнач; x <= xкон; x += dx) {
if (x <= -4)
y = -3;
else if (x <= -3)
y = 2 * x + 8;
else if (x <= 3)
y = sqrt(r * r - pow(x - 1, 2)); // использование r здесь
else if (x <= 8)
y = 0.6 * (x - 3);
else
y = 3;

cout << fixed << setw(5) << setprecision(1) << x << " | " << setw(5) << setprecision(1) << y << endl;
}

return 0;
}
```

В этом коде исправлены все операторы вывода на правильные `<<`. Убедитесь, что вы ввели корректные значения для переменных `r`, `xнач`, `xкон` и `dx`, чтобы ваш график отображался правильно.

Также обратите внимание на формулу для вычисления `y` в третьем блоке условий. Если ваше значение `r` не удовлетворяет уравнению окружности, это может приводить к ошибкам при вычислении `sqrt(r * r - pow(x - 1, 2))`. Убедитесь, что `r` имеет правильное значение.
Сергей Гений (57482) 3 недели назад
 #include    
#include
#include
using namespace std;

int main()
{
double xнач, xкон, dx, x, y, r = 3; //радиус уже задан на рисунке
cout << "xнач = ";
cin >> xнач;
cout << "xкон = ";
cin >> xкон;
cout << "dx = ";
cin >> dx;
cout << " x | y " << endl;
cout << "--------------------" << endl;
for (x = xнач; x <= xкон; x += dx)
{
if (x <= -4)
y = -3;
else if (x <= -3)
y = 2 * x + 8;
else if (x <= 3)
y = sqrt(r*r - x*x); // почему тут у вас было x-1 ?
else if (x <= 8)
y = 0.6 * (x - 3);
else
y = 3;

cout << fixed << setw(5) << setprecision(1) << x << " | " << setw(5) << setprecision(1) << y << endl;
}
return 0;
}
Сверхразум Оракул (50066) 3 недели назад
 #include  
#include
#include
using namespace std;

int main()
{
double xнач, xкон, dx, x, y, r;
cout << "r = ";
cin >> r;
cout << "xнач = ";
cin >> xнач;
cout << "xкон = ";
cin >> xкон;
cout << "dx = ";
cin >> dx;

cout << " x | y " << endl;
cout << "--------------------" << endl;

for (x = xнач; x <= xкон; x += dx) {
if (x <= -4)
y = -3;
else if (x <= -3)
y = 2 * x + 8;
else if (x <= 3)
y = sqrt(r * r - pow((x - 1), 2)); // включая r здесь
else if (x <= 8)
y = 0.6 * (x - 3);
else
y = 3;

cout << fixed << setw(5) << setprecision(1) << x << " | " << setw(5) << setprecision(1) << y << endl;
}

return 0;
}
Krab Bark Искусственный Интеллект (285702) 3 недели назад
#include <iostream>
#include <cmath>
using namespace std;
int main(){
double xb,xe,dx; cout<<"xb xe dx: "; cin>>xb>>xe>>dx;
for(double x=xb;x<=xe;x+=dx)
cout<<x<<'\t'<<(x<-4?-3:x<-3?2*x+6:x<3?sqrt(9-x*x):x<8?.6*(x-3):3)<<endl;}
Адольф Гитлер Ученик (92) 3 недели назад
Это какой язык, джава? или нет?
Похожие вопросы