for (i=1;i<=100;i++) s+=i; printf("s=%d",s); printf("\nАяқтау үшін Enter басыңыз\n"); getch(); } 2-мысал. Бүтін сандардың көбейтіндісін өрнектейтін n! мәнін, яғни n!=1*2*... n табу қажет. Б ұл алгоритмді құру барысында for операторының кері қарай есептейтін мүмкіндігін пайдаланайық (7.7 сурет).
#include #include main () { int p=1,i; int n; clrscr(); printf("n санын енгізіңіз де, Enter басыңыз:"); scanf("%d",&n); printf("1-ден n-ге дейінгі сандар көбейтіндісі:"); for (i=n;i>1;i--) p*=i; printf(" %d",p); getch(); } Бақылау сұрақтары 1. C тіліндегі цикл операторларының қандай түрлері бар? 2. Алғы шартты цикл (әзірше) операторының қандай ерекшелігі бар? Жазылу форматы қандай? 3. Шарты соңынан тексерілетін оператордың қолданылуы мен жазылуы. 4. Кем дегенде бір рет орындалатын цикл операторын көрсетіңіз. 5. Арифметикалық цикл (параметрлі) операторының қандай ерекшелігі бар? Жазылу форматы қандай? 5. Сандар қосындысы мен көбейтіндісін табу алгоритмдері мен программалары. 6. Шексіз қосынды табу үшін қоланылатын операторлар. 7 -8 лекция. Жиымдар жайлы түсінік. Жиым элементтерін өңдеу
Жиым немесе массив – бір типтегі элементтердің реттелген жиыны.Олар бір атаумен – идентификатормен аталады да, индексті айнымалы ұғымына сәйкес келеді. Мысалы, мынадай тізбек 0 1 1 2 3 5 8 13 21
Фибоначчи тізбегінің 9 элементін құрайды (алғашқы екі санды таңдап алып, келесі санды алдыңғы екеуін қосу жолымен алады). Ал мынау өзіне және бірге бөлінетін жай сандар тізбегінің алғашқы 7 элементі:
1 3 5 7 11 13 17
Осындай бір текті тізбектерді жиым түрінде Си тілінде сипаттап, оған бастапқы мән беріп инициалдау үшін былай жазамыз:
int fib[8]={0, 1, 1, 2, 3, 5, 8, 13, 21};немесе int fib[]={0, 1, 1, 2, 3, 5, 8, 13, 21};деп көрсетеміз. мұндағы fib – жиым аты, оның элементтерінің типі int, ал ені, яғни ұзындығы – 9, жиым элементтерінің индекстері 0-ден бастап нөмірленеді, сол себепті 9 элемент 8 индекспен көрсетіледі. Мәндері толық көрсетілсе, индексті жазбаса да болады. Ал былай болса, int fib[8]={0, 1, 2, 3};қалған элементтері 0 болып саналады. n=10; k=2; fib[n-k]={0, 1, 2, 3};десе де болады. Жоғарыдағы тізбектің 7-ші элементін бір бүтін айнымалыға меншіктеу үшін былай жазамыз.
int а = fib[6]; // а = 8
Жиымды сипаттау кезінде оның ені нақты санмен көрсетіледі, мыс.,a[20]орнынаa[n]деп жазу үшін алдын ала #define n 20жолы көрсетіледі немесе const n=20;болып жазылады. Жиым элементтерін енгізу немесе оларды түрлендіру үшін цикл операторлары қолданылады. Төменде 10 элементі бар жиымды 0-ден 9-ға дейінгі сандармен толтырып, сонан кейін оларды кері бағытта экранға шығару мысалы көрсетілген:
main ()
{
int ia[10];
int index;
for (index = 0; index <10; index ++)
ia[index] = index;
for (index = 9; index >=0; index --)
printf(“ %i”, ia[index]);
Ситіліндежиымдыжиымғабірдентеңестіругеболмайды, мысалы, а0, а1, а2, ... , а9жәнес0, с1, с2, ... , с9жиымдарыүшіна = c депжазуғарұқсатетілмейді. Олардыңэлементтерінциклішіндебір-бірінебіртіндептеңестірукерек. Мысалы, мынадайциклжазылуытиіс: int a[9], c[9];
for (int i=0; i<9; ++i)
a[i]=c[i];