Разве может быть делителем x число которое >1/2x (например числа >5 не могут быть делителями 10)
можно сократитть количество проверок в цикле почти в 2 раза.
С функциями вроде разобрались, терь надо с дин. массивом разобраться.
yk[99] - получается статический
*(yk) - тоже не верно а как тогда?
Код
# include <iostream.h>
# include <stdio.h>
# include <math.h>
# include <conio.h>
# include <alloc.h>
//----------------------------------------------------------------
int Chislo(int x)
{
int j;
if (x<4) return 1;
else
{
for (j=2; j<floor(x/2)+1; j++)
if (x%j==0) return 0;
}
return 1;
}
//-----------------------------------------------------------------
int mani()
{
clrscr();
int w,i,j,n,s,g,yk;
cout<<"n="; cin>>n;
yk=new int[n];
cout<<"El-ma \n";
for (i=0; i<n; i++)
{
cin>>yk[i];
s=yk[i];
cout<<"\n s="<<s;
if (Chislo(yk[i])) cout<<"Prostoe\n";
else cout<<"Sostavnoe\n";
}
delete []yk;
getch();
return 0;
}
# include <stdio.h>
# include <math.h>
# include <conio.h>
# include <alloc.h>
//----------------------------------------------------------------
int Chislo(int x)
{
int j;
if (x<4) return 1;
else
{
for (j=2; j<floor(x/2)+1; j++)
if (x%j==0) return 0;
}
return 1;
}
//-----------------------------------------------------------------
int mani()
{
clrscr();
int w,i,j,n,s,g,yk;
cout<<"n="; cin>>n;
yk=new int[n];
cout<<"El-ma \n";
for (i=0; i<n; i++)
{
cin>>yk[i];
s=yk[i];
cout<<"\n s="<<s;
if (Chislo(yk[i])) cout<<"Prostoe\n";
else cout<<"Sostavnoe\n";
}
delete []yk;
getch();
return 0;
}