 Дефиниране и използване на масиви,
масивите като параметри
 Дефиниране и използване на масиви,
масивите като параметри
* Дефиниране и използване:
 -- дефиниция
double salaries[10];
-- използване
salaries[4] = 355;
-- номериране на индекси
salaries[0] -
първи елемент
salaries[1] -
втори елемент
salaries[2] -
трети елемент
salaries[3] -
четвърти елемент
...
salaries[9] -
десети елемент
Обхождане на елементите на масив:
const int SAL_MAXSIZE = 10;
double sal[SAL_MAXSIZE];
int sal_size = 0;
bool more = true;
while (more and sal_size < SAL_MAXSIZE)
{ cout << "Enter salary or 0 to
quit";
  double x;
  cin >> x;
  if (cin.fail()) more = false
  else
  {  sal[sal_size] = x;  
sal_size++;   }
}
* Mасивите като параметри на функции
Масивите винаги се предават по псевдоним.
double maximum(const double a[], int a_size)
{  if (a_size == 0) return 0;
   double highest = a[0];
   int i;
   for (i = 1; i < a_size;
i++)
      if (a[i]
> highest) highest = a[i];
   return highest;
}
Следващата програма чете заплати от стандартен вход и отпечатва максималната
заплата.
// salarray.cpp
#include <iostream>
using namespace std;
void read_data(double a[], int a_maxsize,
int& a_size)
{  a_size = 0;
   double x;
   while (a_size < a_maxsize
and (cin >> x))
   {  a[a_size] = x;     
a_size++;   }
}
double maximum(const double a[], int a_size)
{  if (a_size == 0) return 0;
   double highest = a[0];
   int i;
   for (i = 1; i < a_size;
i++)
      if (a[i]
> highest) highest = a[i];
   return highest;
}
int main()
{  const int SALARIES_MAXSIZE = 100;
   double salaries[SALARIES_MAXSIZE];
   int salaries_size = 0;
   cout << "Please enter
all salary data: ";
   read_data(salaries, SALARIES_MAXSIZE,
salaries_size);
   if (salaries_size == SALARIES_MAXSIZE
and not cin.fail())
      cout <<
"Sorry--extra data ignored\n";
   double maxsal = maximum(salaries,
salaries_size);
   cout << "The maximum
salary is " << maxsal << "\n";
   return 0;
}
 Масиви от символи
 Масиви от символи
char input = 'y';
char greeting[6] = "Hello";
char greeting[] = "Hello";
char greeting[10] = "Hello";
Проблемът със символа за край на низ при използване на масиви от символи.
 Двумерни масиви
 Двумерни масиви
// matrix.cpp
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
const int BALANCES_ROWS = 11;
const int BALANCES_COLS = 6;
double future_value(double initial_balance,
double p, int nyear)
{  double b = initial_balance * pow(1
+ p/12/100, 12*nyear);
   return b;   }
void print_table(const double table[][BALANCES_COLS],
int table_rows)
{  int i, j;
   cout << fixed <<
setprecision(2);
   for (i = 0; i < table_rows;
i++)
   {  for (j = 0; j <
BALANCES_COLS; j++)
        
cout << setw(10) << table[i][j];
      cout <<
"\n";
   }
}
int main()
{  double balances[BALANCES_ROWS][BALANCES_COLS];
   int i;
   int j;
   for (i = 0; i < BALANCES_ROWS;
i++)
      for (j
= 0; j < BALANCES_COLS; j++)
        
balances[i][j] = future_value(10000, 5 + i * 0.5,
           
5 + j * 5);
   print_table(balances, BALANCES_ROWS);
   return 0;
}