Ветвление – это команда алгоритма, в которой делается выбор, выполнять или не выполнять какую-нибудь группу команд в зависимости от условий. Ветвление используется в двух случаях:
Когда в алгоритме есть действия, которые иногда нужно пропускать (в зависимости от какого-то условия).
Когда в алгоритме нужно записать выбор тех или иных действий (в зависимости от какого-нибудь условия).
В блок-схеме условие ветвления записывается в ромбе, из которого выходят обязательно 2 стрелки. Стрелка «Да» указывает на команды, которые должны выполняться, когда условие соблюдается. Стрелка «Нет» указывает на команды, которые должны выполнятся, когда условие не соблюдается.
#include<conio.h>
#include<stdio.h>
#include <stdlib.h>
#include<time.h>
#define N 25
#define K 3
int prime(int num)
{ int i;
for(i=2;i<=num/2;i++)
if(num%i==0) break;
if(i==num/2+1 || num==1) return num;
else return 0;
}
int maxPos(int A[])
{ int i,max,mPos;
max=0;
for(i=0;i<N;i++)
if(A[i]>max)
{ max=A[i];
mPos=i;
}
return mPos;
}
int main()
{ int i,j,X[N],Y[N],pos;
srand(time(NULL));
for(i=0;i<N;i++)
{ X[i]=rand()%30+1;
Y[i]=prime(X[i]);
}
printf("Original array\n");
for(i=0;i<N;i++)
printf("%3d",X[i]);
printf("\nArray-masque of prime numbers\n");
for(i=0;i<N;i++)
printf("%3d",Y[i]);
printf("\n\n");
for(j=0;j<K;j++)
{ pos=maxPos(Y);
printf("%3d in position %3d targeted\n",X[pos],pos);
Y[pos]=-1;
X[pos]=-1;
}
j=0;
for(i=0;i<N;i++)
if(X[i]!=-1)
{ Y[j]=X[i];
j++;
}
printf("\nResult:\n");
for(i=0;i<j;i++)
printf("%3d",Y[i]);
getchar();
return 0;
}
Объяснение:
Ветвление – это команда алгоритма, в которой делается выбор, выполнять или не выполнять какую-нибудь группу команд в зависимости от условий. Ветвление используется в двух случаях:
Когда в алгоритме есть действия, которые иногда нужно пропускать (в зависимости от какого-то условия).
Когда в алгоритме нужно записать выбор тех или иных действий (в зависимости от какого-нибудь условия).
В блок-схеме условие ветвления записывается в ромбе, из которого выходят обязательно 2 стрелки. Стрелка «Да» указывает на команды, которые должны выполняться, когда условие соблюдается. Стрелка «Нет» указывает на команды, которые должны выполнятся, когда условие не соблюдается.