You are on page 1of 21

Едномерни масиви

Масив
 Масивът е крайна редица от фиксиран брой
елементи от един и същ тип.
 Към всеки елемент от редицата е възможен

пряк достъп, който се осъществява чрез


неговия индекс.
 Индексът е цяло число, което представлява

номера на поредния елемент на масива.


Масив
 Елементите на масива се номерират от 0 за
първия индекс до броя на елементите на
масива – 1 за последния индекс.
Пример:
 Нека имаме масив от 5 цели числа с име mas
(таблица 1).
 Към елементите на масива са присвоени

следните стойности: 4, 0, 10, 7 и 1. Масивът


ще изглежда така:
Масив
Елементите на масива се записват
последователно в паметта на
компютъра, като за всеки елемент на
редицата се отделя толкова
количество памет, колкото изисква
съответният тип данни.
Деклариране на масив
Синтаксис
тип име на масив [размер на масива] ;
където
 тип - отговаря на типа данни на елементите

на масива
 име на масив – задава се от програмиста по

правилата за формиране на имена в C/C++


 размер на масива – цяло число, което
отговаря на максималния брой елементи,
които може да съдържа масива
Деклариране на масив - примери
 int a[5];
 double c[10];
 bool b[3];
 char array[7];
Инициализиране на масив
При декларирането на масиви, те могат да
бъдат инициализирани. За тази цел след
декларацията се поставя знакът = и между
две фигурни скоби се задават началните
стойности на елементите му, разделени със
запетаи.
Пример:
int mas [5] = {15, 3, 66, 149, 2049};
char T[5]={‘a’, ’b’, ’c’, ’d’, ’e’};
Инициализиране на масив
Тъй като броят на елементите, на които сме
задали начални стойности определя
размерността на масива, числото в
правоъгълните скоби може да бъде
пропуснато:
int mas [] = {15, 3, 66, 149, 2049};
Инициализиране на масив
Забележка: Не са възможни конструкции от
вида:

int q[5];
q = {0, 1, 2, 3, 4};

или
int q[];

или
double r[4] = {0.5, 1.2, 2.4, 1.2, 3.4};
Три различни начина за инициализиране
на елементите на масив
double r[] = {3.5, 1.4, 2.7, 6.9};//дефинира масив с
име r, съдържащ 5 реални числа
e еквивалентна на
double r[4] = {3.5, 1.4, 2.7, 6.9};
и
double r[4];
r[0] =3.5;
r[1]= 1.4;
r[2]= 2.7;
r[3]= 6.9;
Достъп до елементите на масив
Във всяко едно място на програмата, в която
даденият масив е видим ние можем да се
обръщаме към неговите елементи за четене и
промяна, като използваме името на масива и
съответния индекс:
име [индекс]
Достъпът до елементите на масива от горния
пример става чрез следните имена: mas[0],
mas[1], mas[2], mas[3], mas[4].
Достъп до елементите на масив
int q[3]; //заделя се памет за масив с 3
цели числа
q[0]=11; //задава се стойност 11 на първия
елемент от масива
q[1]=2; //задава се стойност 2 на втория
елемент от масива
q[2]=8; //задава се стойност 8 на третия
елемент от масива
Действия върху едномерен масив
Задаване размер на масив
……………….
int main()
{
const int MAX=100;
int mas[MAX]; //масив mas със100 елемента, които са цели числа
int n; //променлива n,която ще съдържа реалния размер на
масива
do{
cout << "Въведете размера на масива от 1 до 100: ";
cin>>n;
if (n< 1 || n>100)
cout << "Грешно въвеждане! \n";
}while(n<1 || n>100); //n е цяло число от интервала [1, 100]
}
Въвеждане на стойности на елементите на
масив
Пример:
...
for (int i= 0; i < n; i++)
{
cout <<"mas[" << i << "]= ";
cin >> mas[i];
}
...
Извеждане на елементите на масив

Пример 1:
...
for (int i = 0; i < n; i++)
cout <<"mas[" << i << "]= "<<mas[i]<<”\n”;
...
Основни алгоритми за
работа с масиви
Намиране на сумата от елементите на
масива
Пример:
...
int sum = 0;
for (int i = 0; i < n; i++)
{
sum= sum+mas[i];
}
cout<<”Сумата на елементите на масива е “<<sum<<”\n”;

С оператора за цикъл for се обхождат всички
елементи на масива.
За всяка итерация на цикъла в променливата sum с
натрупване се сумира всеки следващ елемент от
масива.
Намиране на средно аритметично от
елементите на масив
Пример:
...
//декларираме променлива за средно аритметичната ст-ст
double average = 0;
for (int i=0; i<n; i++)
{
average = average+a[i]; //в average се натрупва сумата от
елементите на масива
}
аverage=average/n; //изчислява средно аритметично
cout<< “Средноаритметичната стойност е ”<<average;
...
Намиране на максималния елемент на
масива
Пример:
...
max = a[0];
for (int i=1; i<n; i++)
{
if ( a[i] > max)
max = a[i];
}
cout << „Максималната стойност е " << max ;
...
Намиране на минималния елемент на
масива
Пример:
...
min = a[0];
for (int i=1; i<n; i++)
{
if ( a[i] < min)
min = a[i];
}
cout << „Минималната стойност е " << min;
...
Преброяване на елементите на масив,
отговарящи на дадено условие
Примерът показва как се намира броя на елементите в масива,
които са равни на числото x.
...
int x;
cout << "x= "; // въвеждане на стойност за x
cin >> x;
// намиране на броя br на срещанията на x в редицата
int br = 0;
for (int i = 0; i < n; i++)
{
if (a[i] == x)
br++;
}
cout << "Броят на елементите равни на”<<x<<” e " << br;
...

You might also like