Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет78/466
Дата20.07.2022
өлшемі3,66 Mb.
#37798
түріПрограмма
1   ...   74   75   76   77   78   79   80   81   ...   466
Байланысты:
pavlovskaia-jogargy-dengeili

#include
int sum(int **a, const int nstr, const int nstb);
int main(){
int nstr, nstb;
cin >> nstr >> nstb;
int **a, i, j;
// а матрицасын қалыптастыру:
a = new int* [nstr];
for (i =0; i
a[i] = new int [nstb];
for (i = 0; i
for (j = 0; j> a[i][j];
cout << sum(a, nstr, nstb);
return 0;
}
int sum(int **a, const int nstr, const int nstb){
int i, j, s = 0;
for (i = 0; i
for (j = 0; j
return s;
}
Мұнда жады екі кезеңде бөлінеді: алдымен нұсқауыштардан тұратын бағана 
үшін матрицаның жолдарына, содан кейін циклде əрбір жол үшін 1.10-суретте 
көрсетілгендей түрде беріледі. Жадының босатылуы кері реттілікпен орында-
луы тиіс. 
Функциялардың атауларын параметрлер ретінде беру
Функцияны оған нұсқауыш арқылы шақыруға болады. Бұл үшін сəйкес 
типтегі нұсқауыш жарияланады жəне оған адресті алу операциясының 
көмегімен функцияның адресі меншіктеледі:
void f(int a){ /*...*/ }
// функцияны анықтау
void (*pf)(int); 

// функцияға нұсқауыш
...
pf = &f; // нұсқауышқа функцияның адресі меншіктеледі


83
// (pf = f деп жазуға болады;)
pf(10); // f функциясы pf нұсқауышы арқылы шақырылады
// ((*pf)(10) деп жазуға болады)
Программаның оңай оқылуы үшін функцияларға нұсқауыштарды сипат-
тау кезінде типтердің аттарын өзгерту (
typedef
) қолданылады. Функцияларға 
нұсқауыштардың жиымдарын жариялауға болады (бұл, мысалы, меню 
жасағанда тиімді болуы мүмкін):


Достарыңызбен бөлісу:
1   ...   74   75   76   77   78   79   80   81   ...   466




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

    Басты бет