Вычислить y=cos(1+cos(2+...+cos(39+cos(40)... ))
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
помогите решить пожалуйста
что-то вроде этого:
Код: Выделить всё
double y;
for (int x=40, y=x; x>1 ;)
y=--x+cos(y);
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Кошмар.... код вообще не скомпилируется. Но даже если поправить синтаксис, программа просто зависнет в вечном цикле.Ne0N писал(а):что-то вроде этого:Код: Выделить всё
double y; for (int x=40, y=x; x>1 ;) y=--x+cos(y);
Вот так должно быть:
Код: Выделить всё
double y = 40;
for (int i = 39; i >= 0; --i)
{
y = i + cos(y);
}
std::cout << "y = " << y << std::endl;
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Да с чего бы. Посмотрел бы ты внимательно на код, не возникло бы такого мнения.Romeo писал(а):Кошмар.... код вообще не скомпилируется. Но даже если поправить синтаксис, программа просто зависнет в вечном цикле.
Единственное у меня ограничение цикла надо ставить x>0 - не заметил первый cos
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Да, пардон, бесконечного цикла не будет. Просто вынос префиксного декремента из "правильного" места в for в саму формулу уж никак не добавляет читабельности. Если это меня сбило с толку (хотя каюсь, спешил и смотрел невнимательно), то новичку вообще мозг взорвёт 

Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.