У Вас же Chislo описана внутри main.
Также советую разобраться в синтаксисе определения функции.
Код
[тип возвращаемого значения] [имя функции]([список параметров])
{
[код]
}
{
[код]
}
Никакой переменной с именем функции по умолчанию не создаётся. Все возвраты осуществляются оператором return.
Захотели вернуть 0, пишем return 0;
Захотели вернуть 1, пишем return 1;
Захотели вернуть x, пишем return x;
После выполнения оператора return выполнение функции прекращается и управление передаётся вызывающей функции.
Объявлять все локальные переменные нужно уже в теле функции, там, где у меня написано [код].
То есть, если вы всё вот этот осознаете, то поймёте, что функция описана неверно.
Остальные комментарии:
1. опять main ничего не возвращает - чего вы её так обижаете, такая же функция) Обещает отдавать int, значит, должна отдавать int))
2. Зачем int yk[99]? Зачем Вы выделили память в стеке? Вы же её не используете...
3.
Цитата
как х присвоить yk[i]?
А никак) Просто пишете
Код
Chislo(yk[i]);
и всёВот небольшой примерчик с оформлением функций. У меня массив статический, но Вам так нельзя, не подходит по условию статический.
Код
int IsSimple(int x)
{
int i;
if (x<2) return 0; //если меньше двух, дальше функция не будет выполняться
for(i=2;i<x;i++)
{
if(!(x%i))
{
return 0; //есть делитель больший или равный двойке, но меньше числа, опять же прекращаем
}
}
return 1; //делителей не нашлось, число простое
}
int main()
{
int i;
int x[50];
for(i=0;i<50;i++)
{
cin >> x[i];
if(IsSimple(x[i])) cout << "Prostoe\n";
else cout << "Sostavnoe\n";
}
return 0; //заметьте, обещал вернуть int и вернул int
}