Форум программистов, компьютерный форум CyberForum.ru

C++ ошибка в программе с косинусами и синусами - C++

Восстановить пароль Регистрация
 
Маквад
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 8
25.01.2011, 08:50     C++ ошибка в программе с косинусами и синусами #1
Доброго времени суток.
Задали задачи на С++. Сам на С++ никогда не программировал (только Паскаль и Бейсик). Одна из задач: "Дано натуральное число N. Вычислить s=cos1/sin1+(cos1+cos2)/(sin2+sin3)+...+(cos1+...cosN)/(sinN+ ...sin(2N-1)).

Я на Паскале эту задачу сделал и пытаюсь перевести ее в С++. Вот что у меня получается.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
#include <math.h>
 
int main()
 
{
int n,i,j;
float p,sc,ss;
cout << "Vvedite N ";
cin>> n;
 
for(i=1; i=n; i++)
sc=ss=0;
 
 
for(j=1; j=i; j++);
sc=sc+cos(j);
ss=ss+sin(j);
 
p=p*sc/ss;
cout << "P = " << p << endl;
 
}
Программа компилируется, но после ввода N останавливается. В чем моя ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2011, 08:50     C++ ошибка в программе с косинусами и синусами
Посмотрите здесь:

C++ Задание с синусами и косинусами
C++ ошибка в программе.
Ошибка в программе C++
C++ ошибка в программе
C++ Ошибка в программе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
25.01.2011, 11:05     C++ ошибка в программе с косинусами и синусами #2
второй цикл у вас ничего не делает
Маквад
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 8
25.01.2011, 11:10  [ТС]     C++ ошибка в программе с косинусами и синусами #3
Я понимаю, что он ничего не делает. А как его "заставить" работать?
rrrFer
Заблокирован
25.01.2011, 11:20     C++ ошибка в программе с косинусами и синусами #4
C++
1
2
    for(i=1; i=n; i++)
        sc=ss=0;
по порядку
1. присваивается i значение 1
2. присваивается i значение n,
3. присваивание в п.2. выполняется успешно, инкремент i
4. присваиваем sc и ss значение 0
5. возвращаемся на п.2.
это вечный цикл, выйти из него программа не сможет.
Я бы посоветовал вам использовать оператор == вместо = для сравнения, но не понятна сама суть цикла, после первой итерации вы присваиваете значение 0, переменным которые и без этого равны нулю.
без вреда строчку
C++
1
for(i=1; i=n; i++)
можно удалить.
Во втором цикле используйте == вместо =.

Добавлено через 5 минут
попробуй так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <math.h>
using namespace std;
int main(){
    float i,n,s,c,z;
 
    cout << "Vvedite N ";
    cin>> n;
    n++;
 
    c=z=s=0;
    for(i=1;i<n;i++){
        c+=cos(i);
        z+=sin(i);
        s+=c/z;
    }
    cout<<s;
    cin.get(),cin.get();
    return 0;
}
Маквад
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 8
25.01.2011, 11:27  [ТС]     C++ ошибка в программе с косинусами и синусами #5
Спасибо большое! Все заработало.
Yandex
Объявления
25.01.2011, 11:27     C++ ошибка в программе с косинусами и синусами
Ответ Создать тему
Опции темы

Текущее время: 04:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru