Добрый вечер!
Вот собственно задача:
Смысл в том что-бы в огромном массиве указать точку с координатами i, j, затем относительно этой точки в выделенной области найти и засунуть в переменную SUM сумму всех простых чисел из этой области.
Вот собственно код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
bool prime(int n){
int i;
for(i = 2;i <= sqrt(n); i++)
if(n % i == 0)
return false;
return true;
}
int obrabotka (int i, int j, int N, int M, int A[15][15]){
int a, S, k, l;
if(prime(A[i][j]) == true){
S += A[i][j];
}
a = 0;
k = i;
l = j;
while(a <= 3){
k--;
l--;
if(prime(A[k][l]) == true){
S += A[k][l];
}
a++;
}
a = 0;
k = i - 1;
l = j + 1;
while(a <= 1){
k--;
l++;
if(prime(A[k][l]) == true){
S += A[k][l];
}
a++;
}
a = 0;
k = i + 1;
l = j - 3;
while(a < 6){
l++;
if(prime(A[k][l]) == true){
S += A[k][l];
}
a++;
}
return S;
}
void main ()
{
int N, M, i, j, A[15][15], S;
printf ("vvedite N i M\n");
scanf ("%d % d", &N, &M);
printf ("vvedite matrizu\n");
for (i = 1; i <= N; i++)
for (j = 1; j<=M; j++)
scanf ("%d", &A[i][j]);
printf ("vvedite i i j\n");
scanf ("%d %d", &i, &j);
S=obrabotka(i,j,N,M,A);
printf("--------------");
printf ("| № | i | j | result|");
printf("--------------");
printf ("| 1 |%3d |%3d |%6d |", i, j, S);
printf("--------------");
getch();
}
Мой компилятор(DEV-C++) ругается на функцию PRIME и говорит мол 'true is undeclared'
Хотелось бы узнать в чем проблема и сразу узнать есть ли еще косяки в этой проге.
Заранее благодарен