Потребителски панел
Запомни
Категории
C/C++ (17)
C# (8)
Java (5)
Visual Basic (18)
Delphi/Pascal (11)
Python (4)
Assembly (0)
Други (0)
Facebook
Масиви | Автор: admin | Дата: 24.09.2009


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

Масивите са група от променливи, но вместо за всяка променлива да се използва различно име, се използва едно име за целия масив. А за достъп до индувидуалните променливи се използва число. Масив се декларира по същия начин както и променлива, с единствената разлика, че след името на масива в правоъгълни скоби се слага число (индекс), което определя броя на променливите в него. Сега за пример ще ви покажа декларация на масив с 10 променливи в него:

int arr[10];

Можете да задавате стойности на масива, чрез използване на номера на елемента, на който искате да зададете стойност. Трябва да запомните, че номерата започват от 0. Имайки предвид казаното дотук, ето и как да зададем стойности на всички елементи от масива.

cin>>arr[0];
cin>>arr[1];
cin>>arr[2];
cin>>arr[3];
cin>>arr[4];
cin>>arr[5];
cin>>arr[6];
cin>>arr[7];
cin>>arr[8];
cin>>arr[9];

Но, както може би вече сте се убедили това не е най-практичния начин за въвеждане на стойности, защото се пише много код за 10 елемента, а какво остава ако масива беше със 100 елемента или повече? Тук ще се намеси цикъла FOR с който би трябвало да сте се запознали в предишния урок. Ето как ще стане:

int arr[10];
int i;
for(i=0; i<10; i++){
cin>>arr[i];
}

На кратко - променливата i се изменя от 0 до 9 и я използваме като номер на елемента. След като стартирате програмата ще трябва да въведете 10 числа. Съответно за масив със 100 елемента примера ще е следния:

int arr[100];
int i;
for(i=0; i<100; i++){
cin>>arr[i];
}

Понякога може да ни се наложи да зададем начални стойности на масива, още при декларацията му, това става по следният начин:
int arr [10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 

Броя стойности между големите скоби не трябва да надвишава обявената бройка в квадратните скоби. В C++ има възможност да не задаваме стойност между квадратните скоби [], и автоматично ще се задели пространство за толкова елементи, колкото сме изредили между големите скоби {}:
int arr [] = { 1, 2, 3, 4, 5 };

След изпълняването на последната декларация, масивът ще бъде с дължина 5 елемента, защото толкова сме посочили в скобите.

Двумерни масиви

Освен едномерни масиви има и двумерни (2D) масиви. Може да си ги представите като таблица съответно с редове и колони. Затова се декларират с два индекса, първият отговаря на броя на редовете, а вторият на броя на колоните.

Дефиниране:
тип идентификатор[брой_редове][брой_колони];

Пример:
int arr[2][3];

Подредба на елементите:
arr[0][0] arr[0][1] arr[0][2]
arr[1][0] arr[1][1] arr[1][2]

Задаването на стойности на двумерния масив става с два цикъла, като единия обхожда редовете, а другия колоните:
int arr[2][3];
int i,j;
for (int i=0; i<2; i++)
for (int j=0; j<3; j++)
cin>>arr[i][j];


Урока е подготвен специално за Programming-BG.com. Моля не копирайте без мое съгласие!

           


Беше ли Ви от полза урокът?
да не




Искате да пишете коментари? Влезте от тук или се регистрирайте!



Коментари (7):

От Protoss на 06.11.2010 в 22:48 часа

ее за пореден път: Супер си wink

От kresko78 на 18.02.2011 в 12:28 часа

Сложи и някой урок за низове бе. Те са по трудни. Масивите са много добре обяснени иначе. smile

От admin на 18.02.2011 в 13:44 часа

Като ми се освободи малко време, ще напиша и за низове. smile

От admin на 29.04.2011 в 21:41 часа

Ето ги низовете: http://programming-bg.com/urok/C&C++/110.html smile

От Hleba на 13.06.2011 в 14:48 часа

Урокът е добре обяснен , иам най-важните неща и наистина е от полза благодаря smile

От nCuXaP на 14.11.2011 в 00:18 часа

Извинявам се, но не разбрах напълно как точно пълним този масив... smile много ще съм благодарен ако някой ми обясни smile

От admin на 14.11.2011 в 20:33 часа

Здравей, опиши по-подробно кое точно не си разбрал.