Увод в програмирането  alpha
Прототипи на функции

Ако извиканата функция е разположена след извикваната, то трябва да бъде подходящо декларирана в извикващата функция. Това предварително обявяване се нарича прототип на функцията и информира компилатора за типа на на връщаната стойност и за броя и типа на формалните параметри. Използвайки прототипи компилаторът извършва контрол за съответствие по тип и брой между формални и фактически параметри,

Пример:

        #include<conio.h> // контролиране на вход и изход
        #include<iostream>
        
        // Прототипи на функции:
        void div(int a, int b);
        int mnum(int, int);
        // Имената на формалните параметри не го интересуват,
        // но ако са написани не ги разглежда;
        
        int main()
        {
                int x, n1, n2;
                
                clrscr();
                // Изчиства екрана
                // функция част от conio.h
        
                cout<<"Въведете първото число: ";
                cin>>n1;
                cout<<"Въведете второто число: ";
                cin>>n2;
                div( n1,n2) ; // това е операция
                
                x = mnum(n1,n2); 
                cout<<"max= "<<x<<endl;
                // Ако се обърнем към mnum() като към операнд, 
                // няма да има грешка,
                // ама нищо не се извежда
                
                return 0;
        }
        
        void div(int a, int b)
        {
                int t;
                while ( b!=0)
                {
                        t = a%b;
                        a = b;
                        b = t;
                }
                cout<<"НОД: "<<a<<endl;
        }
        
        int mnum( int c, int d )
        {
                return ( c  > d ) ? c : d;
        }

Задача:

Да се напише програма, която транспонира матрица.

Решение:

        #define DIM 3; // Дефинира константа
        
        #include <iostream.h>
        
        void trans ( float[][DIM], float[][DIM] );
        
        int main()
        {
                float u[DIM][DIM], v[DIM][DIM];
                
                int i, j;
                
                for( i = 0; i<DIM; i++)
                {
                        for(j=0; j<DIM; j++)
                        {
                                cout<<"Въведете u["<<i<<"]["<<j<<"]= ";
                                cin>>u[i][j];
                        }
                }
                
                return 0;
        }

        void trans(float a[][DIM], float b[][DIM])
        {
                int i,j;
                
                for(i=0; i<DIM; i++)
                {
                        for(j=0; j<DIM; j++)
                                b[j][i] = a[i][j];
                }
        }