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

Помогите Найти Ошибку

  • Автор темы Marikd
  • Дата начала
M

Marikd

Плиз помогите найти ошибку

Даны целые числа k, m, действительные числа х, у, z. При k<m^2, k=m^2 или k>m^2 заменить модулем соответственно, значения x, у или z, а два других значения уменьшить на 0.5.

C++:
#include <iostream>
#include <math> 

void main(void)

{

double k,m,x,y,z;

cout <<"k: ";
cin >> k;
cout <<"m: ";
cin >> m;
cout <<"x: ";
cin >> x;
cout <<"y: ";
cin >> y;
cout <<"z: ";
cin >> z;

if (k>m*m) 
{
x=fabs(x)
y=y/0.5;
z=z/0.5;
cout << x, z, y;
}



else if (k=m*m)
{
y=fabs(y);
x=x/0.5;
z=z/0.5;

cout << x, z, y;
}
else (k<m*m)
{
z=fabs(z);
x=x/0.5;
y=y/0.5;
cout << x, z, y;
}	 






return 0;
}
 
G

guinevra

if (k>m*m)
{
x=fabs(x)
y=y/0.5;
z=z/0.5;
cout << x, z, y;
}

Ежели мне память не изменяет, Вы в этих строчках y и z увеличиваете вдвое. Замените "/" на "-". А так должно работать. Хотя еще смущает, что main возвращает 0, а должен void. Мой компилятор на такое ругается. Если из-за этого и не работает, то void main(void) можно попробовать заменить на int main(void)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!