2.4 Жиымдар. Бірөлшемді, көпөлшемді жиымдар және көрсеткіштерді қолданып бағдарламалар құру
Си тілінде жазылған программада реттелген типті мәліметтерді қолдануға болады. Оларға массивтерді, структураларды және файлдарды жатқызуға болады.
Массив – бір типті көп элементтен тұрады. Массивпен оның атын шақыру арқылы жұмыс істейміз. Массивтің кез-келген элементін таңдауға болады. Ол үшін оның тұрған орнын көрсететін индиксті көрсету керек. Массив элементінің саны оны анықтап хабарлағанда белгіленеді. Содан соң өзгермейді. Егер массив хабарланған болса, онда оның кез-келген элементін массивтің атын және элемент индиксін квадрат жақшаның ішінде көрсету арқылы оқуға болады. Массивтер айнымалылар сияқты анықталады. int a[100] - 100 элементтен тұратын және бүтін саннан тұратын массив хабарланған. Массив индексациясы 0-ден басталады.
а[0], a[1], a[2],…a[99];
Char b[20]- 20 элементтен тұратын типі char массив.
Float d[50]- 50 нақты саннан тұратын массив.
Есеп 1. S=∑n2
n=1
Есептің шешуі:
С++ тіліндегі бағдарлама мәтіні:
#include
void main ()
{
int a,s,m,n;
cin>>m;
s=a=0;
for(n=1;n<=m;n++)
{
a=n*n;
s=s+a;
}
cout<}
Бағдарламаның нәтижесі:
Адрестер
Си екі арнайы адрестік операцияларды қолдайды: Адресті анықтау операциясы (&) және адреске бағыттау (*).& операциясы берілген айнымалының адресін қайтарады. Егер sum int типті айнымалы болса, онда &sum осы айн ымалының адресі болып табылады.
N
S=∑│ai*bi│, мұндағы (a1,a2,...,an), (b1,...,bn).
i=1
С++ тіліндегі бағдарлама мәтіні:
#include
void main ()
{
const int N=5;
double a[N],b[N],s;
int i;
for(i=0;icin>>a[i];
for(i=0;icin>>b;
s=a[1]*b[1];
cout<<”a[1]*b[1]=”<}
Бағдарламаны тестілеу нәтижесі:
Көрсеткіштер
Көрсеткіш қандай да бір мәліметтің адресінен тұратын айнымалы болып табылады. Жалпы айтқанда, көрсеткіш - адрестің қандай да бір символикалық бейнеленуі. &sum бұл жағдайда «sum айнымалысына көрсеткіш» дегенді білдіреді . Адресі сан болса, ал &sum адреснің символикалық бейнеленуі көрсеткіш типті константа болып табылады. Сондықтан sum айнымалысына бөлінген жады ұяшығының адресі программа орындалғанда өзгермейді.
Си тілінде көрсеткіш типті айнымалылар да кездеседі. Көрсеткіш типті айнымалылар мәні қандай да бір шаманың адресі болып табылады. Көрсеткіш ptr идентификаторымен белгіленген болсын, сонда келесідей оператор sum адресін ptr айнымалысына меншіктейді: ptr =& sum. Бұл жағдайда ptr sum -ға «көрсетеді» деп айтады. Яғни, ptr - айнымалы, & sum - константа. ptr айнымалысы басқа да бір объектіге «көрсете» алады:
ptr=&mах.
Ptr мәні mах айнымалысының адресі болып табылады. Адреске бағыттау операциясын (*) немесе жанама адрестеу операциясын қарастырайық, ptr айнымалысында mах айнымалысына сілтеме болсын. Сонда осы айнымалының мәніне кол жеткізу үшін адрес-ке бағыттау операциясын (*) қолдануға болады. Рtr көрсететін мәнді анықтау үшін келесі операторды жазамыз: sum=*ptr; (Соңғы екі оператор, бірге алғанда, келесіге тең: sum=mах; адресті алу және жанама адрестеу операциясын қолдану нәижеге тура әелмейді екен, операцияның атындағы «жанама» деген сөз де содан пайда болған).
(*) операциясы - осы таңбадан кейін айнымалыға көрсеткіш тұрса, операция нәижесі көрсетілген адресі бар ұяшықта тұрған шама болып табылады.
Достарыңызбен бөлісу: |