12. Подпрограми в С++

12.1. Подпрограми функции
• Дефиниране на функция
• Извикване на функция за изпълнение. Примери и задачи с функции

12.2. Подпрограми процедури
• Дефиниране на процедура
• Извикване на процедурата за изпълнение. Пример

12.3. Предаване на параметри между подпрограмите
• Предаване на параметри по стойност. Пример
• Предаване на параметри чрез адрес. Примери
• Едномерните масиви като формални параметри на подпрограмите. Пример
• Многомерните масиви като формални параметри на подпрограми. Пример

12.4. Понятие за прототип / декларация на подпрограма/. Пример

преди план следва
 
 

• Многомерните масиви като формални параметри на подпрограми. Пример


Когато многомерен масив трябва да се предаде като формален параметър на подпрограма, в описанието му трябва да присъстват като константи всички размерности, с изключение на първата, например:

void readMatr( int n, int matr[][20])

Пример:
Да се напише програма, която въвежда елементите на правоъгълна матрица от цели числа, намира сумата им, след което извежда матрицата.
#include < iostream.h >
void readMatr(int m, int matr[][3])
{  int i, j;
   for(i=0;i < m;i++)
      for(j=0;j < 3;j++)
      { 
        cout<<"matr["<< i <<"]["<< j <<"] = ";		                  
        cin >> matr[i][j];
      }
}
void writeMatr(int m, int matr[][3])
{
     int i,j;
         for(i=0;I < m;i++)
             for(j=0;j < 3;j++)
               cout<<"matr["<< i <<"]["<< j <<"]"<< matr[i][j]<< endl;
}
int sum(int m, int matr[][3])
{
  for(int s =0, i=0;i < m;i++)
	 for(int j =0;j < 3;j++)
	 s  +=  matr[i][j];
  return s;
}
 int main()
 {
	int a[2][3];
	readMatr(2,a);
	cout<<" suma = "<< sum(2,a)<< endl;
	writeMatr(2,a);
	return 0;
 }
 
 
 
 
преди план следва