Б. БӨрібаев c/C++ тілдерінде программалау (практикалық курс) Жогары оқу орьшдарына арналған оку құралы э в е р о алматы 2015 Эверо



жүктеу 1.78 Mb.
Pdf просмотр
бет14/16
Дата26.04.2017
өлшемі1.78 Mb.
1   ...   8   9   10   11   12   13   14   15   16

8
u %
10
u\n",i<>pti+i>ptf+i);
}
Мұның нәтижесі'
нүсқауьпптар ♦
0
:
65518
65498
нұсқауыштар +
1
:
65520
65502
нұсқауыштар +
2
:
65522
65506
нұсқауьпитар
3:
65524
65510
Келесі  мысалды  қарастырайық.
(а+
2
)==&а[
2
];
* (а+
2
)= = а [
2
] ;
Бұлар  нұсқауыштар  мен  жиымның  арасындагы  байланысты  анықтайды,  ягни 
жиымнын  жеке  элементін  анықтау  үшін  немесе  оның  мәнін  пайдалану  үшін 
нұсқауышты қолдануга болады.
5.4.3 Н үскауыш тарды  пайдаланып жиымдармен жүмыс істеу
Жиымдарды  функция  аркылы  карастырып,  содан  кейін  осы  функцияны 
нұскауыиггарды  пайдаланып жазып шығу керек болсын.
1-мысал. Функция аркылы жиым  косындысын табу.
// функция  арқылы жиым косындысын  табу
# in c lu d e   
# in c lu d e   < std io .h >
i n t   f l ( i n t   a [ ] ,   i n t   t )
№   {  
*- * ' l a ^
i n t   i ,   sum=
0

f o r ( i =
0
;  i < t ;   i++) 
sum +=a[i]; 
r e tu r n   (sum);
m ain()
{  i n t   i,s ,b [ 1 0 ] = { 5 ,6 ,1 4 ,1 2 ,3 0 ,5 ,9 ,7 ,1 5 ,5 > ; 
c l r s c r ( ) ;
s»fl(b,10);
p rin tf(" s= % d " ,  s ) ;  
g e tc h ( ) ;
}  і И Н И Д  И Ш  
. . . - ^
Негізгі  программада f l   функциясын  шакыру үшін  пакты  параметрлерді  жазып, 
функция  келесі түрде шакырылып отыр:
141

fl(b,10); 
‘Щ
2-мысал. 
Нұскауышты 
функцияда  ( f l )  
пандалану 
программасын жазайық.
// функцияда 
нұсқауыш 
аркылы жиым косындысын  табу
#include 
#include  
int fl(int  *pa,  int t)
{int  i,sum=0;
for(i=0;  i 
sue +-  #(pa+i);
return  (sum); 
v. 
'
 
Щ
)  
• 
m ain()
{  int  і,5лЬ[10]  *  {5,6,14,12,38,5,9,7,15,5); 
clrscr(); 
s*fl(b,18); 
printf("s*Xd",s);
getch();
программ ад а осы f  
1
  функциясын  шакыру үшін  накты  параметрлер бұрынғыдай
жазыла береді:  f l ( b , 1 0 ) ;
5.4.4  Нұскауыштарға  қол да и ы л а ты н 
операциялар
С тілінде  нұскауыш типті айнымалыл арга бес түрлі оператор колдануга
болады:
1)  меншіктеу  операциясы.  Нұсқауышқа  адрссті  меншіктеуге  болады. 
Жиымнын 
атын  колданып  немесе  адресті  аныктайтын  &  операторын  пайдаланып,  адетте 
адресті  меншіктеуге болады;
2
)  мәнді 
аныктау.  Верілген  адрес  бойынша  кейбір  үяшыкта  сакталатыи  мәнді 
аныктау үшін  * 
операциясы 
кояданылады;
3)  нұскауыштын  адресін  аныктау  Кез  келген  айнымалылар  сиякты  нускауыш 
типті  айнымалылар  мәні  немесе  адресі  болуы  мүмкін  &  операциясы  аркылы 
иұекауыштың адресін аныктауға болады;
4)  нүскауыштарды  арттыру.  Ьұл  амал  әдетгегі  ♦  операциясы  көмегімен  немесе 
арттыру  операциясы  аркылы  орындалуы  мүмкін 
Нұскауышты  арттырып, 
жиымнын  келесі  элементіне  өтуге  болады  (кажет  болса,  нүскауыш  мәнін
кемітуге де болады);
5)  нүскауыштардын  айырмасы  Бір  жиымнын  тлементіне  сштейтін  нұскауыштым 
айырмасын  габуга  болады  Жиым  элеменгінін  арасындагы  ара  қашыктыгын 
аныктау үшін нускауыштым айырмасыи есептеуге болады.
/♦ іиымныи макскмуммм тауші, одам 
м й і и г і  элвімиттаріи  квмуі 
бойынша раттап ориал*стіфу •/

х е н п зу
жоқ
x-Ti  ш ы ғару
соңы
#include 
#inciude 
#include 
#define  n 
10 
main()
{  int i,  j,  t,  c;
int a[n]={6,5,9,8,7,4,l,2,3,0>; 
int *pa,  max;
clrscr();
printf("a[
10
]  элементтері 
for(i=
0
;  iprintf(" %d  ",a[i]); 
pa=a;  max=*pa;  t=
0
;
/
индексін
максимумды және оның
табу  */
for(i=l;  iif((*(pa+i))  >  (max))
{max = *(pa+i);  t=i;  } 
printf(* 
'\nmax  =  %d оның индексі = 
%d\n",  max,  t); 
for(i=t;  i/* элементтерді  кемуі  бойынша */
for(j=i+l;  jif(*(pa+i)  <  *(pa+j))
{  c=*(pa+i);  /* жиымның екі  элементін 
алмастыру */
*(pa+i)=*(pa+j);
*(pa+j)=c;
}
printf("\n нәтиже  :
  "); 
for(i=
0
;  iprintf("%d  ”,*(pa+i)); 
getch();
}
5.3-сурет. 
Жиым элементтерін 
өсуі бойынша ретгеу
2-мысал.  Берілген  Х
| 0
  жиым  элементтерін  сол  жиымда  өсу  реті  бойынша 
орнапастыру керек (5.1-сурет).
«include 
#include 
#include 
main()
{
int xmin,x[10]; 
int n,k,ij 
clrscr();
printf(и\пБерілген жиым элементтері:");
143

for(k=0;  k<10;  k++)
{х[к] = rand() % 100;
/*  32767-ге дейінгі  кездейсоқ сандарды 100-ге бөліп,
калдықтарын алу 
*/
printf ( ”  %і",х[к]);}
for(k=0;  к<9;  к++)
{ xmin=x[k];  n=k;
4  for(i=k+l;  k<10;  k++)
if (x[i]  < xmin)
{ xmin=x[i]; 
n = i;


Ш   Ш ш Я ш
x[n]=x[k];  x[k]=xmin;
}
printf("\пРеттелген жиым элементтері:”); 
for(k=0;  к<10;  к++) 
printf(" %і”,х[к]); 
getch();

£
 
I
Щ
Бакылау сүрактары 
/.  Жиым дегеніміз не?
2
.  Жиымдарга бастащы мәндер қалай тагайындалады?
3.  Жиымды сипаттау тэсілдері.
4.  Жиым элементтерін енгізу жэне экранга шыгару жолдары.
5.  Кездейсоқ сандарды қалай шыгаруга болады?
6
.  Жиымга кездейсоқ сандарды мениііктеу қалай орындалады?
7.  Жиымды өңдеу есептерініц түрлері (кластары).
8
.  Жиымның ең үлкен (ең кіші) элементін анықтау.
9.  Жиым элементтері қосындысын табу.
10.Жиым ішіндегі екі элементтіц бір-бірімен орнын алмастыру.
11.Жиым элементтерін кері багытта орналастыру.
12
.Жиымның көрсетілген  элементтерін өңдеу тэсілдері.
13.Жиымды сұрыптау (сорттау, реттеу) жолдары.
Т А П С Ы Р М А Л А Р
Жиымдарды өңдеу кезінде төмендегі ережелерді есте сақтаган жөн.
1.Жиым  өлшемі  (ені,  көлемі)  тек  константа  немесе  константапык  өрнек  бола 
алады.  Жиым  өлшемін 
идентификатор  түріндегі  (ат  қойылған) 
константа 
аркылы беру дұрыс деп саналады.
2. Жиым  элементтері  нөлден бастап  нөмірленеді,  сол себепті элементтін ең үлкен 
нөмірі элементтер санынан бірге кем болады.
144

3. Индекс 
нөмірлерінің 
жиым 
шекарасынан 
асып 
кетпеуін 
программа 
кадаглламайды,  оны программапаушы өзі бақылауы тиіс.
4.
  Нұсқауыш -  жедел жады аймагының адресін сақгайтын айнымапы.
5.  Жиым аты оның О-элементіне нұсқауыш болып табылады.
6
. Егер программага енгізілетін элемештер мэні алдын ала белгілі болса, оңца жиымды 
сипаттау  кезіңде  оның  мәндерін  көрсетіп  (инициалдау)  кету  керек.  Жиымды 
глобальді айнымалы емес, локальді айнымалы етіп сипаттаған дұрыс.
7. Жиым  элементтерін  пернеден  енгізгеннен  гөрі  randO  және  randomO 
фунісцияларын  пайдаланып,  кездейсоқ  сандар  тізбегін  беру  арқылы  енгізген 
ыңгайлы болады.
8
. Жиымдарды  сұрылтау  алгоригмдерінің  жұмыс  істеу  жыддамдыгы,  алаіын  көлемі 
жәнеколданылу аймағы әртүрлі болып келеді.
Тапсырмаларды  орындауга арналған  нұсқаулар
а)  Әрбір  студент  журналдагы  өз  нөміріне  сәйкес  (мұгапімнің  көрсетуі  бойынша) 
төрт есеп шыгаруы тиіс.
ә)  Әр  есептің  блок-схемасы  жэне  соган  сэйкес  программасы  құрылып,  компью- 
терде сол программаның нәтижесін алу керек.
б)  Екі  блок-схема  Word  программасындагы  Сурет  салу-Автофигуралар-Блок- 
схемалар мүмкіндігімен сызылып көрсетілуі тиіс.
в)  Берілген  жиым  элементтері  мен  нэтижелік  элементтерді  экранга  шыгарып,
нәтижелерді  жазып  алу  қажет  немесе  нәтижені  бірден  файлға  жазуға  тырысу 
керек.
Есептер
1.  Кез  келген  сандардын  бірөлшемді  /4(10)  жиымындагы  оң  элементтерді  екі  есе 
кемітіңдер,  ал  теріс  элементтері  болса,  онда  оларды  индекстерінің  мэнімен
ауыстырыңдар.
2. Бірөлшемді /4(10) жиымындагы теріс элементтердің ең үлкенін табыңдар.
3.  Бірөлшемді  А(20)  жиымындагы  -5-тен  кіші  элементтердің  косындысын  жэне 
олардың  жалпы  санын,  сонымен  бірге  5  санына  калдықсыз  бөлінетін 
элементтердің нөмірлерін анықтандар.
4. 
Бірөлшемді 
>4(10) 
жиымындагы 
оң 
элементтердің 
квадраттарының 
арифметикалық ортасын есептеңдер.
5.  Бірөлшемді >4(100) жиымындагы теріс элеМенттердің санын аныкгаңдар.
6
.  Бірөлшемді  жиым мэндері берілген диапазонда жататын элементтерінің нөмірін 
басып шығарыңдар.
7.  Бірөлшемді  >4(10)  жиымындагы  он  элементтердің  ішінде  мәні  ен  кішісін  жэне 
оның индексін (нөмірін) табыңдар.
8
.  Бірөлшемді  жиымда  2-элементті  бірінші  орынга,  3-ні  2-шімен  жэне  т.б. 
алмастырулар орындай отырып, 
1
-элементі соңгы орынга койындар.
9.  Берілген  он  сандар  тізбегіндегі  қосындысы  берілген  саннан  асып  кетпейтін
элементтердін санын табыңдар.
10.  Үтыс  билепнің  немірі  алты  орынды  сан.  Билет  “бакытты”  (апдыңгы  жэне 
соңгы  үш  цифрдың  косындысы  өзара  тек)  немесе  “табысты”  (жұп  орындарда
145

тң)ған  цифрлардың  қосындысы  тақ  орында  тургандардың  қосындысына  тең) 
болатындыгын анықтаңдар.
11.  Оң  және  теріс  сандар  тізбегіңдегі  бірінші  теріс  санга  дейінгі  орналасқан 
сандар тізбегінің өсу ретімен орналасатындығын анықтаңдар.
12. 
N
  кәсіпорынның  бір  жылғы  электр  энергиясын  тұтынуы  туралы  дерек  бар.
Осы бойынша энергия тұтынудың арифметикалық ортасын жэне энергияны ең 
көп үнемдеген кәсіпорынды аныктандар.
13.  14  аудан  бойынша  жанармай  қорынын  мөлшері  белгілі.  Жанармаймен  ең 
жақсы қамтылған үш ауданды анықтаңдар.
14.  Берілген  А( 14)  жиымы  бойынша  мына  шарттарды  қанағаттандыратын  5  
жиымын құрыңдар: 5(0)=v4(l); 5(l)=v4(l)*>4(3);... 5(4) = Л(1)*Л(3)* ...  *А( 13)
15.  Берілген  >4(13)  жиымы  бойынша  мына  шарттарды  қанағаттандыратын  В 
жиымын құрыңдар: 5(0)=>4(0);5(1)=у4(0) * А(2);... 5(6) = А(0)*А(2) *  ...  *А( 12)
16.  Берілген  А(14)  жиымы  бойынша  мына  шарттарды  қанағаттандыратын  В 
жиымын  кұрыңдар:  5(0)  = А(0)  -  А(13);  5(1)  = А(1) -  А( 12);  ...  5(6)  =  А(
6
) -
А(7) 
1
17.  Берілген  >4(14)  жиымы  бойынша  мына  шарттарды  қанағаттандыратын  В 
жиымын құрыңдар:  5(0) = >4(0)/>4(13); 5(1) = А(\)/А(12)у... 5(6) = А(6)/А(7)
18. >4(14) жиымы берілген. Жиым элементтерінің арифметикалык ортасын жэне ол 
мэнге ең жақын элементтің нөмірін аныктандар.
19.  /4(14)  жиымы  берілген.  Екі  жиым  құрыңдар:  оның  біріншісі  индекстері  жүп 
сандар, ал екінші  жиым  иңдекстері так сан болатын элементтер болсын.
20.  А( 14)  жиымы  берілген.  Ең  кіші  элементтің  алдында  орналасқан  элементгерді 
жою арқылы сызықтық жиымды кыскартыңдар.
21. Өлшемдері  бірдей  екі  сызықтық жиым  берілген.  Осы жиымдардын  индекстері 
бірдей  орындарында  орнапасқан  элементтердің  көбейтіндісінен  тұратын 
үшінші жиым  кұрыңдар.
22.  Бүпн  сандардың  бірөлшемді  жиымы  берілген.  Ондағы  ең  көп  кездесетін 
санның неше рет қайталанатынын табыңдар.
23.  А( 17)  жиымы  берілген.  7-ден  үлкен  барлық  элементтерді  берілген  жиымнын 
ең үлкен элементімен ауыстырындар.
24.  А( 16)  жиымы  берілген.  Алғашқы  оң  элементке  дейінгі  теріс  элементтердің 
санын аныктандар.
25.  >4(18)  жиымы  берілген.  2-ден  кіші  барлық  элементгерді  3  санымен 
ауыстырындар.
26. >4(17) жиымы берілген.  0-ден  үлкен барлық элементгерді  5-ке, ал  қапғандарын
0
-ге ауыстырындар.
27.  >4(14)  жиымы  берілген.  А  жиымының  барлық  тақ  элементтері  индекс 
нөмірлерімен ауыстырылатын 5  жиымын кұрыңдар.
28.  >4(34)  жиымы  берілген.  Так  нөмірлі  индекстерде  тұрған  элементтердің  ең 
үлкенін аныктандар.
29. A(N) жиымы  берілген.  Алғашқы  ен  кіші  (минимал)  элементтін орнын  (индек- 
сін) аныктандар.
30. A(N) жиымы берілген. Соңғы ен кіші элементтін орнын аныктандар.
146

31.  A(N)  жиымы  берілген.  Соңғы  ең  ұлкен  (максимал)  элементгің  орнын 
акыкгаңдар.
32. A(N) жиымы берілген. Алғашқы ең үлкен элеменгггің орнын анықтаңдар.
33. A(N) жиымы берілген.  Мәндері  3  пен  11  саны интервалыңда жататын элемент- 
тердін арифметикалық ортасын анықтаңдар.
34.  А( 12)  =  {2,5;  4,3;  -0,57;  10,45;  1,5;  -7,1;  11,4;  5,12;  4,9;  7,7;  -12,3;  0,031} 
жиымы  берілген.  В(І)  =  SIN(/*(/))  формуласы  бойынша  В{ 12)  жиымын 
кұрастырыңдар жэне 
Р
 = >4(0) * В( 11) + А( 1) * 5(10) +  ... +  А( 11) * В(0) өрнегін 
есептеп шыгарындар.
35.  Пернетактадан жиымга бес бүтін  мән  енгізіңдер.  Олар  бір  жолға үтір  арқылы 
жазылады. Жиымның арифметикалық ортасын табыңдар.
36. Пернетактадан  жиымының бес бүтін мэнін енгізіңдер. Жиым элементтерінің 
әркайсысының түбірінің мәнін жэне квадратын экранга шыгарындар.
37.Бүтін  сандар  жиымындагы  жұп  нөмірлі  элементтердің  косындысын  табыңцар. 
Жиымнын  өлшемі  — 
2 0
.  Жиымды 
1 0 0
  бен 
2 0 0
  арасындагы  кездейсоқ 
сандармен толтырындар.
38  Бүтін  сандар  жиымындагы  7-ге  калдықсыз  бөлінетін  элементтердің 
көбейтіндісін  табыңдар.  Жиым  өлшемі  -   15.  Жиымды  10  мен  50  арасындагы 
кездейсок сандармен толтырындар.
39.  Кездейсок  сандар  генераторының  көмегімен  А[0..7]  жиымын  кұрыңцар  жэне 
оны экранга шыгарыңдар. Оның барлык элементтерін 2 есеге арттырындар.
40.  Кездейсок  сандар  генераторының  көмегімен  элементгері 
- 1 0
  мен 
1 0
  сан 
аралыгында  болатын  /4[0..8] 
жиымын 
құрындар  жэне  оны  экранга 
шыгарындар. Жиымның теріс элементтерінің санын есегггеңдер.
41.  Кездейсок  сандар  генераторынын  көмегімен  элементтері  —20  мен  10  саны 
аралыгында  болатын  А[0..11]  жиымын  құрыңдар  жэне  оны  экранга 
шыгарындар. Жиымнын барлык теріс элементтерін 0-ге ауыстырыңдар.
42.  Кездейсок  сандар  генераторы  аркылы  элементтері  -15  пен  30  саны 
аралыгында  болатын  бүтін саннан  А[0..14]  жиымын  кұрастырыңдар жэне оны 
экранга  шыгарындар.  Жиымнын  ен  үлкен  элементін  жэне  онын  индексін
аныктаңдар.
43. 
8
  сагаттан  20  сагатқа  дейінгі  уақыт  аралыгында  ауа  температурасы  сагат 
сайын  өлшенеді.  Осы  аралыкта  температуранын  төмендегені 
мэлім. 
Температураның  алгашкы  теріс  мэні  кай  сагатта  пайда  болгандыгын  анық- 
таңдар. 
-
44.  Қараша  айында  он  күн  бойына  ауа  температурасы  туралы  деректер  жиымда 
сакталган.  Температуранын  -5  градустан  қанша  рет  төмен  болганын 
аныктандар.
45.  Балкаш  көлі  жагалауының  температурасы  туралы  мэлімет  қыркүйек  айында 
он  күн  бойы  жиымда  сакталган.  Осы  уакыт  ішінде  неше  күн  шомылуга 
колайлы болатынын аныктаңдар.
46.  Сэуір  айынын  онкүндік  ауа  температурасы  мен  жауын-шашын  мөлшері 
туралы  мэлімет  жиымда  сакталады.  Осы  он  күнде  жауган  жаңбыр  және 
кардын мөлшерін аныктандар.
147

47.  Желтоқсан  айының  онкүндік  ауа  температурасынын  мэліметі  жиымда 
сакгалған.  Онкүңдік  температура  маліметі  бойынша  қанша  рет  орта 
температурадан жоғары ауытқу болатындығын аныктандар.
48.  Қараша  айының  он  күн  ішіндегі  желдің  (солтүстік,  ощүстік,  шыгыс,  батыс)
бағыты  жэне  соғу  күшінің  мәліметтері  жиым  түрінде  сақталған.  Неше  күн
желдің 
жылдамдығы 
8
 
м/с-тан 
артық 
жылдамдықпен 
соққандығын 
анықтаңдар?
49. Бүгін саннан тұратын  15 элементті жиым  құрыңдар жэне олардын арасындагы 
ең кіші элементті анықтаңдар.
50.  Жерге еркін түсу  кезінде дененің  1 , 2 , . . . ,   10 с  ішінде  жүріп өткен  кашыктық- 
тарынан кұралатын  нақты сандардың сызыктык жиымын кұрыңдар.
51.  Бүтін  сандардың  сызыкгық  жиымы  берілген.  Оның  кему  ретімен  орналасқан- 
дығын тексеріңдер.
52.  Бұтін  сандардын  сызықтық  жиымындағы  оң  элементтердің  косындысын
табыңцар.  Жиымнын  өлшемі  —  10.  Жиым  элементтерін  пернетақта  арқылы 
енгізіңдер. 
- ■
 
^
Бірелш емді  жиымдар
Бұл  тақырып  бойынша  зертханалық  жұмыстар  тапсырмаларын  жүзеге 
асыратын программалар құрыңдар.
1 нұсқа
п накгы элементтерден тұратын бірелшемді жиымда:
1) жиымнын теріс элементтеріні н косындысын;
2
) жиымнын  ен  үлкен  (максимал)  және  ең  кіші  (минимал)  элементтерінің  арасында 
орналасқан элементтерінің көбейтіндісін аныктаңдар;
Жиым элементгерін өсуі бойынша ретгендер.
2
нұсқа
п накты элементгерден тұратын бірелшемді жиымда:
1
) жиымнын он элементтерінің косындысын;
2
) жиымнын  модулі  бойынша  ен  улкен  (максимал)  жэне  модулі  бойынша  ен  кіші
(минимал)  элементтерінің  арасында  орналаскан  элементтерінін  көбейгіңдісін 
аныктандар;
Жиым элементтерін кемуі бойынша ретгендер.
3  мұсқа
п бүтін элементтерден тұратын бірөлшемді жиымда:
1
) жиымнын жұп нөмірлі элементтерінің көбейтіндісін;
2
) жиымнын  алгашкы  және  екінші  нөлге  тең  екі  элементінін  арасында  орнаяаскдн 
элементтерінің косындысын аныктандар;
Жиымнын  барлык  он  элементтері  онын  алдынгы  жағында,  ал  теріс  элементтері 
соңгы жагында орналасатындай етіп түрлендіріңдер.
4 нусқа
п накты элементтерден тұратын бірөл шемді жиымда:
1
) жиымнын так нөмірлі элементтерінің косындысын;
2
) жиымнын  алгашкы  жэне  ен  сонгы  теріс  екі  элеменгінің  арасында  орналаскан
элементгерінін косындысын аныктандар;
148

Жиымнын модульдері 
1
-ден  кіші  элеменггерін  жойып,  қысқартыңцар да,  жиымның 
соңыңда бос калган элементтерін нөлдермен толтьфыңдар.
нұсқа
п нақгы элементтерден тұратын бірөлшемді жиымда:
1
) жиымнын ең үлкен элементі н;
2
) жиымнын алғашқы теріс элементіне дейін орналаскан элементгерінің қосындысын 
ярщгаңдар;
Жиымның  модульдері  [a,  b]  аралығында  орналасқан  элементгерін  жойып, 
қысқартыңдар  да,  жиымнын  соңывда  бос  қалған  элементтерін  нөлдермен 
толтырыңдар.
6
нұсқа
п накты элементтерден түратын бірөлшемді жиымда:
1
) жиымнын ең кіші элементі мен оның немірін;
2
) жиымнын  ең  алғашқы  және  ең  соңгы  он  элементгері  арасында  орналасқан 
элементтерінің косындысын аныктандар;
Жиымның  аддынгы  жағында  тек  нөлге  тең  элементтері,  сонан  кейін  барып 
басқалары орналасатындай етіп түрлеңдіріңдер.
7 нұсқа
п бүтін элементтерден тұратын бірөлшемді жиымда:
1
) жиымнын ең үлкен элементі мен оның нөмірін;
2
) жиымнын ен алғашқы  жэне ең соңгы  нөлге тен элементтері  арасында орналаскан 
элеменггтерінің көбейтіңдісін анықтаңдар;
Жиымнын  бірінші  жартысында  —  онын  так  нөмірлі  элементтері,  ал  екінші 
жартысында — жұп нөмірлі элементтері орналасатындай етіп түрлендіріңдер.
8
 нұсқа
п нақгы элементтерден түратын бірөлшемді жиымда:
1) жиымнын ен кіші элементінің нөмірін;
2
) жиымнын  ен  алғашқы  жэне  одан  кейінгі  теріс  элементгері  арасында  орналаскан
элементтерінін косындысын аныктандар;
Жиымнын алгашкы  жағында — онын  модульдері 
1
-ден  кіші элементтері, ал сонында
— калган элементтері орналасатындай етіп түрлендірі ндер.
9 нусқа
п нақты элементтерден түратын бірөлшемді жиымда:
1
) жиымнын модулі бойынша ен үлкен элементін;
2
)  жиымнын  ен  алгашкы  жэне  одан  кейінгі  он  элементтері  арасында  орналаскан 
элементтерінін косындысын аныктандар;
Жиымнын  нөлге  тен  элементтері  онын  сонгы  жагында  орналасатындай  етіп 
түрлендіріңдер.
10 нұсқа
п бүтін элементтерден тұраггын бірөлшемді жиымда:
1
) жиымнын модулі бойынша ен кіші элементін;
2
)  жиымнын  нөлге  тен  алгашкы  элементінен  кейінгі  элементтерінің  модульдерінін 
косындысын аныктандар;
Жиымнын  бірінші  жартысында  —  онын  жұп  нөмірлі  элементтері,  ал  екінші 
жартысында — так нөмірлі элементтері орналасатындай етіп түрлендіріңдер.
149

11
 нұсқа
п накты элеменптерден тұратын бірөлшемді жиымда:
1
)  жиымның модулі бойынша ең кі ш і элементі нөмірін;
2
)  жиымның алғашқы теріс элементінен кейін орналасқан элементтерінщ модульдері 
косындысын аныкгаңдар;
Жиымның  мәндері 
[а, 
Ь] 
аралыгында  орналаскан  элементгерін 
жойып,
кысқартыңдар  да,  жиымның  соңында  бос  калган  элементтерін  нөлдермен 
толтырыңцар.
12
 нұсқа
п нақты элементтерден тұратын бірөлшемді жиымда:
1
)  жиымның модулі бойынша ең үлкен элементі нөмірін;
2
)  жиымның алгашқы оң элементінен  кейін  орналаскан элементтерінің косындысын 
аныктаңдар;
Жиымның  мәндерінін  бүтін  бөлігі  [а,  Ь]  аралыгында  орналаскан  элементгерін 
алдыңгы жағына, қалгандарын — соңгы жагына орналасатындай етіп түрлендіріндер.
13 нұсқа
п накты элементтерден тұратын бірөлшемді жиымда:
1)  жиымның мәңдері А мен В аралыгында жатқан элементтері санын;
2
)  жиымның  ең  үлкен  элементінен  кейін  орналаскан  элементтерінің  косындысын
аныюпаңдар;
Жиым элементтерін оның модульдерінін кемуі бойынша реттеңдф.
150

6  
ЕК ІӨ Л Ш ЕМ Д ІЖ И Ы М Д А Р
£кі өлшемді жиымды — матрицаны пайдалану үшін тік жақшалар ішінде 
олардын екі  өлшемінің де енін көрсету керек. Мысалы:  i n t   a [4 ]  [3 ]  ;
алгашқы сан жолдар санын, ал екінші сан бағаналар санын көрсетеді, а жиымы
12 элементтен тұрады. Оларга бастапқы мәңді бы лай береміз:
i n t   а [4 ][3 ]= { { 0 > 1 ,2 Ь
{ 3 ,4 ,5>,
{ 6 ,7 ,8 } ,
{9 ,1 0 ,1 1 }
};
ішкі  жүйелі жақшаларды қоймаса да болады:
int a[4][3M0,l,2,3,4,5,6,7,8,9,10,ll};
Келесі түрде сипаттау жолдардың тек бірінші элементтерін ғана аныктайды, 
калган элементтер 
0
-ге тен болып саналады:
int a[4][3]={  {0},{3},{6},{9}  };
Егер ішкі жүйелі жакшалар алынып тасталса, онда магынасы өзгереді.
int а[4][3]={ 0,3,6,9 };
мұнда бірінші  жолдын 3 элементі  мен екінші жолдың бірінші элементі 
аныкталады да, қалғандары 
0
 болып саналады.
Екі  өлшемді жиымды инициалдау қабатгасқан  циклдер аркылы орындалады. 
Енді  жиымды кездейсок сандармен толтыратын бір мысал карастырайык.
/* а[3][4] жиымы  элементтерін  rand()  арқылы енгізу және экранға
шығару */
#include 
#include   // rand() функциясы үшін керек 
#include 
main()
{
const int  row=3,  col=4; 
int a[row][col]; 
clrscr();
for(int i=0;  ifor(int j=0;  ja[i][j]=rand()%100-50; 
printf("\na[3][4]  жиым элементтері мәндері:"); 
for(i=0;  ifor(j=0;  jprintf
( ”
 %i",a[i][j]); 
getch();
>
151
1   ...   8   9   10   11   12   13   14   15   16




©emirb.org 2020
әкімшілігінің қараңыз

    Басты бет