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

Прошу помочь - C++

Войти
Регистрация
Восстановить пароль
 
mratner
2 / 2 / 0
Регистрация: 29.10.2009
Сообщений: 4
29.10.2009, 13:34     Прошу помочь #1
Нужно привести програмку в порядок, с первой частью вроде справился, со второй не могу, ошибка С2784.

Первая часть:

было:
C++
1
2
3
4
5
6
7
8
9
10
11
float prois(float a, float b, int n)
{float pr=1,k=1,l;
while(k<=n)
{if k%2==0
l=-k;
else
l=k;
float mn=a+sin(l*b);
pr=pr*mn;
k++;}
return pr;}
исправил:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <Math.h>
 
float prois(float a, float b, int n)
 
{
float pr=1,k=1,l;
while(k<=n)
 
{
if (k==0)
l=-k;
else
l=k;
}
 
float mn=a+sin(l*b);
pr=pr*mn;
k++;
 
return pr;
}
Вторая часть:

было:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
float prois(float a, float b, int n);
void main(void)
{do
{
float fltN, int numN
cout<<"\n Введите a,b";
cin>>a>>b
 
do(cout<<"\n Введите целое полоцительное N";
cin>>fltN;
numN=fltN;
} while(numN!=fltN||fltN<0);
 
float pr1;
pr1=prois(a,b,fltN);
cout>>pr1;
cout>>"\n Повторить?" (y/n);
 
} while (_geth()=="y");
}
мой вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <cstdio>
#include <iostream>
using namespace std;
 
float prois(float a, float b, int n);
 
void main()
{
    do{
    float fltN;
    int numN;
    cout<<"\n Введите a,b";
    cin>>a>>b;
 
do{
cout<<"\n Введите целое положительное N";
cin>>fltN;
numN=fltN;
} while(numN!=fltN||fltN<0);
 
float pr1;
pr1=prois(a,b,fltN);
cout>>pr1;
cout>>"\n Повторить?" (y/n);
    
    } while (_geth()=="y");
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rrrFer
Заблокирован
29.10.2009, 13:43     Прошу помочь #2
задание непонятно, что значит "привести в порядок" ?
Какая разница в том что было и что стало в первой части?

Добавлено через 3 минуты
по первой части:
C
1
2
3
4
5
6
while(k<=n){
        if (k==0)
            l=-k;
        else
            l=k;
    }
если в цикл вошли - то не выйдем из него

Добавлено через 1 минуту
то-есть вы не исправили - испортили ))

Добавлено через 1 минуту
и еще k%2 не эквивалентно k==0
mratner
2 / 2 / 0
Регистрация: 29.10.2009
Сообщений: 4
29.10.2009, 13:45  [ТС]     Прошу помочь #3
чтобы скомпилировалась, я только qbasic изучал, а программа очень нужна, вот сейчас разбираюсь
В первой части был косяк с k%2, я так и не понял, оставил пока просто k, ну и из-за синуса ошибка была без Math.h
rrrFer
Заблокирован
29.10.2009, 13:45     Прошу помочь #4
функцию я бы записал так:
C++
1
2
3
4
5
6
7
8
9
float prois(float a, float b, int n){
    float pr=1,k=1,mn;
    while(k<=n){
        mn=a+sin((k%2?k:-k)*b);
        pr=pr*mn;
        k++;
    }
    return pr;
}
mratner
2 / 2 / 0
Регистрация: 29.10.2009
Сообщений: 4
29.10.2009, 13:54  [ТС]     Прошу помочь #5
о, благодарю
rrrFer
Заблокирован
29.10.2009, 13:54     Прошу помочь #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <conio.h>
#include <math.h>
using std::cin;
using std::cout;
using std::endl;
float prois(float a, float b, int n){
    float pr=1,mn;
    int k=1;
    while(k<=n){
        mn=a+sin((k%2?k:-k)*b);
        pr*=mn;
        k++;
    }
    return pr;
}
int main(void){
    float N,pr1,a,b;
    do{
        cout<<endl<<"vvedite a,b: ";
        cin>>a>>b;
        do{
            cout<<endl<<"celoe N>0,  N: ";
            cin>>N;
        } while(N!=int(N)||N<0);
        pr1=prois(a,b,int(N));
        cout<<pr1;
        cout<<"\n povtorit'? (y/n)"<<endl;
        } while (_getch()=='y');
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2009, 13:57     Прошу помочь
Еще ссылки по теме:

C++ Не могу додумать программку, есть ошибочка, никак немогу обнарожить, прошу помочь мне в этом
прошу помочь с программой на с++ C++
C++ Прошу помочь с прогой, если можно) надо её оживить...
Прошу помочь. Как в Borland C++ 6 Bulder запустить программный код "Си" ? C++
C++ Прошу помочь в написании програмы ( оплачу)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
mratner
2 / 2 / 0
Регистрация: 29.10.2009
Сообщений: 4
29.10.2009, 13:57  [ТС]     Прошу помочь #7
спасибо!
Yandex
Объявления
29.10.2009, 13:57     Прошу помочь
Ответ Создать тему
Опции темы

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