CRIBA ERATOSTENES C

MALDINI87
10 de Octubre del 2008
Buenas, tengo un ódigo en c que me da error que no consigo sacar y quisiera ver si alguien le hechaba un ojo y una mano de paso XD. Me da un error y no tengo ni idea cual.

#include <stdio.h>
#include <stdlib.h>

#define N 1000

int llenar_vector(int,int);
int esprimo(int);
int criba(int,int,int);

int main(void){

int i,j,cont,x,vector[N],primo[N];
cont=0;
llenar_vector(vector[N], N);
for(i=0;i<=N;i++){
if(esprimo(vector[i])==0){
criba(vector[N],N,i);
primo[cont]=i;
cont++;
}
}

for(i=cont;i>=0;i--){
printf("%d",primo[i]);
}

}


int llenar_vector(int vector[], int N){
int i;
for(i=0;i<=N-2;i++){
vector[i]=i+2;
}
}

int primo(int num){
int resto,i;
for(i=2;i<num-1;i++)
{
resto=num%i;
if ((resto==0)&&(num!=2))
return 0;
else
return 1;
}

int criba(int vector[],int n,int i){
int x;
x=i;
for(i=x+1;i=n;i++){
if(vector[i]%x==0)
vector[i]=-1;
}
}
}


Line 30: error: expected ';', ',' or ')' before numeric constant