Решето Эратосфена (работает некорректно) - C (СИ)

Формулировка задачи:

вроде компилируется однако не работает корректно
#include<stdio.h>
 
int main()
{
    int n,j,c;
    int i = 2;
 
    int mass [10] = {2};
    for (n = 0; n < 10; n++,i++)
        mass[n] = i;
 
    for(c=2; c<10; c++){
        if (mass[c] !=0){
            for(j = c*2; j<10; j+=c){
                mass[j]=0;
            }
        }
    }
 
 
 
 
 
          for(i=0; i<10; i++){
                   if(mass[i]!=0){
                        printf("%d\n", mass[i]);
          }
     }
}

Код к задаче: «Решето Эратосфена (работает некорректно) - C (СИ)»

textual
#include<stdio.h>
#define MAX 100
int main()
{
    int n, j, c;
    int i = 2;
    int mass [MAX];
    for (n = 0; n < MAX; n++)
        mass[n] = n;
        mass[1] = 0;
 
        for(c=2; c<MAX; c++){
                if (mass[c] !=0){
                    for(j = c*2; j<MAX; j+=c)
                        mass[j]=0;
                }
        }
 
    for(; i<MAX; i++) {
              if(mass[i]!=0)
                     printf("%d\n", mass[i]);
    }
}

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

14   голосов, оценка 3.786 из 5


СОХРАНИТЬ ССЫЛКУ