10
Объяснение:
Смотри вложение. Клетки: [B], [S] робот пройдёт более 2-х раз -> эти клетки не подойдут под условие. Почему? Потому что каждый цикл робот смещается на 3 клетки влево – через [B], в каждом цикле, робот уже проходит 2 раза, а в следующем цикле он делает это ещё раз, тем самым проваливая условие для данной клетки; [S] – аналогично, поскольку робот, в каждом цикле, пересечёт данную клетку, выходя из клетки [F] в клетку [G].
Для простоты, приведу список клеток из 2 цикла:
[G] станет [S];
[A] станет [B];
[C] станет [D];
[B] станет [E];
[S] станет [F].
Во втором цикле [G] левее на 3 клетки, а её позицию из 1 цикла, теперь, занимает клетка [S].
Нетрудно понять, что ровно 2 раза робот пройдёт только по клетке [C] – [C] станет [D] и больше не будет пройдена роботом.
Остальные клетки робот пройдёт более или менее 2 раз.
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int n=50;
int a[n], i;
srand(17);
printf("Array\n\n");
for(i=0;i<n;i++)
{
a[i]=rand()%10;
printf("%8i",a[i]);
}
for(i=0;i<n;i++)
{
if(a[i]%2)
a[i]--;
else
a[i]++;
}
for(i=0;i<n;i++)
if(a[i]==1)
a[i]=0;
printf("\n\nArray NEW\n\n");
for(i=0;i<n;i++)
{
printf("%8i",a[i]);
}
return 0;
}
И конечно же, 0 нейтральное число, поэтому его мы не меняем как четное.