Другие языки программирования и технологии

помогите на си или на паскале

дано натуральное число N, вычислить S=1/cos1+1/sin3+1/cos5+1/sin7+...+1/cosN у меня не правильно вычисляет(((((
// Филипов_Андрей_2011-11-28
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
#include <windows.h>

#define GRAD 57.295779513082320876798154814105

int main()
{
setlocale(LC_CTYPE, "Russian_Russia.1251");

unsigned int N;
float summa = 0;

do
{
system("cls");

printf("\n Введите число N: ");
scanf("%d", &N);

if (N % 2 == 0)
{
printf("\n Ошибка! Число не должно быть чётным. \a");
Sleep(3000);
}
if (N < 5)
{
printf("\n Ошибка! Число не должно быть меньше 5. \a");
Sleep(3000);
}
if ((N - 1) % 4 != 0)
{
printf("\n Ошибка! Число должно соответствовать условию: (N-1)%с4==0 \a", 37);
Sleep(5000);
}
}
while (N % 2 == 0 || N < 5 || (N - 1) % 4 != 0);

for (unsigned int n = 1; n <= N; n += 4)
{
summa = 1 / cos((float) n);

if (n + 2 > N) break;
else summa = 1 / sin((float) n + 2);
}

printf("\n Сумма для углов в радианах = %f \n", summa);

for (unsigned int n = 1; n <= N; n += 4)
{
summa = 1 / cos(n / GRAD);

if (n + 2 > N) break;
else summa = 1 / sin((n + 2) / GRAD);
}

printf("\n Сумма для углов в градусах = %f \n", summa);

getch();
}

Примечание. В выражении (N-3)%с4==0 использована русская буква с, так как использование английской приводит к искажению вывода. После копирования кода в редактор кода, следует этот факт учитывать.
Рысбек Калиев
Рысбек Калиев
51 240
Лучший ответ
Вариант:

int i,N;
double s;
for(scanf("%d",N),i=3,s=0; i <= N; i+=4)s+=1/cos(i-2)+1/sin(i);