Найти наибольше и наименьшие значения функции для целых аргументов от 1 до 50 - C (СИ) (72360)
Формулировка задачи:
Всем привет!Нужна помощь в выполнении задания!Где-то закралась ошибка!
Задание:
Найти наибольше и наименьшие значения функции для целых аргументов от 1 до 50. Для этого использовать конструкцию выбора внутри цикла :
cos(2*3.14*i/50+3.14/2)/sin(2*3.14*i/50+3.14/2)
Код моей программы:
Пожалуйста помогите!Заранее благодарен!
Пишу через eclipse-spp-luna-sr1
Коомпилятор MinGW
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main()
{
int i=1;
int y, max=-1000000000000 , min=1000000000000;
while(i<50)
{
y= cos(2*3.14*i/50+3.14/2)/sin(2*3.14*i/50+3.14/2)
if(y>max)
max=y;
if(a<min)
min=y;
i++
// printf( " %i\n" , y);
}
printf("%i\n" , min);
printf("%i" , max);
return 0;
}Решение задачи: «Найти наибольше и наименьшие значения функции для целых аргументов от 1 до 50»
textual
Листинг программы
int y, max, min; // Инициализация не нужна
...
while (i<=50) {
y= cos(2*3.14*i/50+3.14/2)/sin(2*3.14*i/50+3.14/2)
if (i==1) max=min=y;
else {
if(y>max)
max=y;
if(y<min)
min=y;
}
i++;
}
Объяснение кода листинга программы
- Объявляются три переменные типа int: y, max, min. Значения переменных не инициализируются.
- В цикле while происходит вычисление значения переменной y по формуле: y = cos(23.14i/50+3.14/2)/sin(23.14i/50+3.14/2).
- Если i равно 1, то значения переменных max и min присваивается значение переменной y.
- В противном случае происходит проверка: а) Если значение переменной y больше значения переменной max, то значение переменной max присваивается значение переменной y. б) Если значение переменной y меньше значения переменной min, то значение переменной min присваивается значение переменной y.
- Значение переменной i увеличивается на единицу.
- Цикл while выполняется 50 раз.