|
|
|
| Здраствуйте, у меня в программе ошибки:
F:\7.2.cpp In function `int is_isbyt_number(int)':
26 F:\7.2.cpp a function-definition is not allowed here before '{' token
26 F:\7.2.cpp expected `,' or `;' before '{' token
Помогите пожалуйста исправить
#include <iostream>
using namespace std;
int main()
{
int n,k,i,l;
float izbit,s;
cout<<"n=";
cin>>n;
for(i=0; i<=n; i++)
{
if(n%2!=0)
cout<<"nechetnoe="<<0<<"\n";}
system("pause");
return 0;
}
int is_isbyt_number(int n)
{
int k, i;
float s;
if(n<=0)
return 0;
for(i=0, s=0; i<=n; i++)
{
if(n%2==0)
if(n%i==0)
{
s+=i;
k++;
}
if(s>2*n) return 1;
else return 0;
}
int is_isbyt_number(int n)
{
int i, n;
double s;
if(n<=0)
{
else cout<<"net polojitelnih chisel";
}
for(i = 1; i<=n; i++)
{
if(n%i==0) s+=i;
}
if(s>2*n) return 1;
else return 0;
}
system("pause");
} |
| |
|
|
|
|
|
|
|
для: Cena
(17.12.2011 в 20:03)
| | У вас во-первых функция is_isbyt_number() определена внутри функции main() - это неправильно, функцию is_isbyt_number() следует вынести из области видимости функции main(). Во-вторых функция is_isbyt_number(int n) определена два раза - она должна быть определена только один раз. В-третьих у вас имеется лишний else в конструкции
if(n<=0)
{
else cout<<"net polojitelnih chisel";
} |
PS Свой вариант пока не привожу, так как не знаю, как быть с двумя функциями is_isbyt_number(int n) - какая из них нужна? | |
|
|
|
|
|
|
|
для: cheops
(17.12.2011 в 23:30)
| | Спасибо, понятно, а вот я поправил программу, и воспринимаются нечетные числа, а четные избыточные - почемуто не видит?#include <iostream>
#include <math.h>
using namespace std;
int main()
{int n,k,i;
float izbit,s;
cout<<"n=";
cin>>n;
if(n%2!=0)
cout<<"0"<<"\n";
system("pause");}
int is_isbyt_number(int n)
{int k, i;
float s;
if(n<=0)
cout<<"net polojitelnih chisel";
for(i=0, s=0; i<=n; i++)
{if(n%2==0 && n%i==0)
{s+=i;
k++;}
if(s>2*n)
cout<<"1"<<"\n";
else
{cout<<"ne yavlayetcya izbitochnim chislom";}}
system("pause");
} | |
|
|
|
|
|
|
|
для: Cena
(18.12.2011 в 00:20)
| | А теперь у вас в функции main(), функция is_isbyt_number() вообще не вызывается, т.е. вы читаете число n из командной строки, проверяете является ли оно нечетным и завершаете работу. Четные же числа программа игнорирует, так как они не удовлетворяют условию
| |
|
|
|