Тәттібеков Қ. С. Раимбаева С.Ә. С/С++ тілінде программалау негіздері



Pdf көрінісі
бет53/79
Дата15.11.2023
өлшемі1,39 Mb.
#124059
түріПрограмма
1   ...   49   50   51   52   53   54   55   56   ...   79
double
Norma(
int 
n,
 double 
X[])
 
{
int
i; 


78 
double
S=0; 
for
(i=0; ireturn
sqrt(S); 
}
Бұл функцияның тақырыбын мынадай формада да жазуға болады: 
double
Norma
(int
n,
 double
*X) 
Екі жағдайда да функцияның екінші параметрі ретінде массивтің басына 
(массив элементтері сақталатын жадының бірінші ұяшығы) көрсеткіш 
қолданылады. Екінші вариантта бұл ақиқат, бірақ екі вариантта тең. Norma() 
функциясын шақырғанда екінші фактілі параметр ретінде массив (вектор) 
басының адресі берілуі тиіс.
5х10 өлшемді матрицаны өңдеу үшін берілген функцияны қолданатын 
негізгі программаның үзіндісін қарастырайық. 
void main() {
double A[5][10]; int i; 
//Матрицаны енгізу 
........................................... 
//жолдардың нормасын есептеу және шығару 
for (i=0; i<5; i++) 
cout<<”Норма”<
Функцияға қатынас жасағанда екінші фактілік параметр A[i] А 
матрицасының i-ші жолының басына көрсеткіш болып табылады.
 
Мысал 2.
Екі өлшемді матрицаны 0-ден 99-ға дейінгі кездейсоқ бүтін 
сандармен толтырып, алынған матрицаны мәндерінің өсуі бойынша реттеу. 
Реттелген матрицаны экранға шығару.
#include  
#include  
#include  
#include  
сonst n=5; //ауқымды тұрақтыларды жариялау 
//
функциялар прототиптері
void Matr(int M[][n]); 
void Sort(int, int X[]); 
//
Негізгі программа
void main() { 
int i, j, A[n][n]; 
clrscr(); 
cout<<”\n”<<”Алғашқы массив:”<<”\n”; 


79 
Matr(A); 
for(i=0; icout<<”\n”<<”Реттеуден кейінгі матрица:”<<”\n”; 
for(i=0; ifor(j=0; jcout<cout<
//Векторды реттеу функциясы 
void Sort(int k, int X[]) {
int i, j, Y; 
for(i=0; ifor(j=0; jif (X(j)>X[j+1]) { Y=X[j]; X[j]=X[j+1]; 
X(j+1)=Y;} 

//Матрицаны толтыру функциясы мен оны экранға шығару 
void Matr(int M[][n]) {
int i, j; 
randomize(); 
//кездейсоқ сандар датчигін беру
for(i=0; ifor(j=0; jM[i][j]=rand()%100; cout<
cout<

Мұнда барлығы Паскальдағы процедураларды қолданғандағыдай 
болады. Matr() функциясының прототипі мен тақырыбына назар аударыңыз. 
Мұнда матрица параметрінің екінші өлшемі көрсетіледі. Біріншісін де 
көрсетуге болады, бірақ міндетті емес.
Жоғарыда айтылғандай, екі өлшемді массив элементтері массив (бұл 
жағдайда – матрица жолдары) болатын бір өлшемді массив ретінде 
қарастырылады. Бұл элементтер өлшемін компилятор «білуі» қажет. 
Функция тақырыптарында үлкен өлшемді массивтер үшін екіншісінен 
бастап, барлық өлшемдерді көрсету қажет.
Matr() функциясына қатынас жасағанда фактілік параметр екі өлшемді
А массивінің басына көрсеткіш, ал Sort() функциясына қатынас жасағанда – 
жолдар басына көрсеткіш болып табылады. 


Достарыңызбен бөлісу:
1   ...   49   50   51   52   53   54   55   56   ...   79




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

    Басты бет