You are on page 1of 14

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

П ро
гр а
ми
ра н
е
Масиви

 Какво е „масив“?
 Структура от данни
 Множество от елементи от един и същи тип
 Константна големина (статични структури)
 Няма възможност за добавяне или отстраняване на елементи
 Индексиране на елемент

Copyright © 2013 DAVID Holding Company


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

 Едномерни масиви в C#
 Брой на елементите (дължина/големина на масива) – цяло неотрицателно число n
 Индекси на елементите – целите числа от 0 до n-1 включително

Copyright © 2013 DAVID Holding Company


Какво представляват масивите?
 В програмирането, масивът е множество от елементи
 Елементите са номерирани от 0 до Length-1
 Елементите са от един и същ тип (намример integers – цели числа)
 Масивите имат постоянен размер(дължина) (Array.Length) – не
може да бъде променяна
array
0 1 2 3 4 Индекс на елемента
Масив от 5 елемента
24 3 -6 12 34
(цели числа)
Елемент от
масива
4
Едномерни масиви
 Деклариране на променлива от тип //
// Деклариране
Деклариране на
на масиви
масиви
масив int[]
int[] numbers;
numbers;
string
string []
[] array;
array;
 Тип на елементите
//
// Инстанциране
Инстанциране на
на масиви
масиви
 Квадратни скоби numbers
numbers == new
new int[50];
int[50];
 Наименование array
array == new
new string[10];
string[10];

 Инстанциране на масив
//
// Деклариране
Деклариране сс инициализация
инициализация
 Оператор new
int[]
int[] numbers=new
numbers=new int[50];
int[50];
 Тип на елементите
 Брой на елементите в квадратни скоби string[]
string[] arrray
arrray == new
new string[10];
string[10];
 Деклариране на променлива и
инициализиране с масив
Copyright © 2013 DAVID Holding Company
Едномерни масиви - инициализация
 В оператора за деклариране //
// Инициализиране
Инициализиране на
на масив
масив
//
// със
със стойности
стойности
 Тип на елементите
 Kвадратни скоби char[]
char[] array
array ={
={ 'а',
'а', 'ъ',
'ъ', 'е',
'е', 'и',
'и', 'о'};
'о'};
 Име на масива
 Списък от стойности на елементите във ф
 В кода на програмата – задаване на
стойности чрез оператора за
присвояване

array[0]=24;
array[0]=24; array[1]=3;
array[1]=3; array[2]=-6;
array[2]=-6;

Copyright © 2013 DAVID Holding Company


Едномерни масиви
//
// Обхождане
Обхождане нана елементите
елементите на
на масив
масив
 Въвеждат се от потребителя, по //въвеждане
//въвеждане на на стойности
стойности
int[]
int[] array
array == new
new int[10];
int[10];
време на изпълнение на
програмата. for
for (int
(int ii == 0;
0; ii << array.Length;
array.Length; i++)
i++)
{{
 Дължина на масива array[i]=int.Parse(Console.ReadLine());
array[i]=int.Parse(Console.ReadLine());
 Цикъл for (обхождане на }}
елементите) или
или
 Индексиране на всеки от елементите с int
int i;
i;
помощта на брояча на цикъла
int
int n=int.Parse(Console.ReadLine());
n=int.Parse(Console.ReadLine());
int[]
int[] array
array == new
new int[n];
int[n];
for
for (int
(int ii == 0;
0; ii << n;
n; i++)
i++)
{{
array[i]=int.Parse(Console.ReadLine());
array[i]=int.Parse(Console.ReadLine());
}}
Copyright © 2013 DAVID Holding Company
Едномерни масиви
//
// Обхождане
Обхождане на
на елементите
елементите на
на масив
масив
//извеждане
//извеждане на
на стойности
стойности
 Извеждане на елементи
 Обхождане на елементите на масив for
for (int
(int ii == 0;
0; ii << n;
n; i++)
i++)
 Дължина на масива {{ Console.WriteLine(a[i]);}
Console.WriteLine(a[i]);}
 Цикъл for

Copyright © 2013 DAVID Holding Company


Дни от седмицата - Пример
 Дните от седмицата могат да бъдат запазени в масив от низове:
string[] days =
{"Monday","Tuesday","Wednesday","Thursday","Friday",
"Saturday","Sunday"}; Expression Value
(име) (Стойност)
days[0] Monday
days[1] Tuesday
days[2] Wednesday
days[3] Thursday
days[4] Friday
days[5] Saturday
days[6] Sunday 9
Задача: Ден от седмицата
 Въведете ден от седмицата като число [1…7] и изведете
името на деня (in English) или "Invalid day!"

10
Решение: Ден от седмицата

string[] days = { "Monday", "Tuesday", "Wednesday",


"Thursday", "Friday", "Saturday", "Sunday" };
int day = int.Parse(Console.ReadLine());

if (day >= 1 && day <= 7)


Console.WriteLine(days[day - 1]);
else
Console.WriteLine("Invalid day!");

11
Задача: Обръщане реда на масив от цели числа

 Въвеждаме масив от цели числа (числото n + n реда т цели


числа), обръщаме последвателността им и извеждаме
елементите му (на един ред, разделени с интервал):
3 30 20 10 4 5 99 20 -1
10 -1
20 20
30 99
5

12
Решение:Обръщане реда на масив от цели числа

// Въвеждаме масива (числото n + n реда цели числа)


var n = int.Parse(Console.ReadLine());
var arr = new int[n];
for (int i = 0; i < n; i++)
arr[i] = int.Parse(Console.ReadLine());

// Извеждаме елементите от последния до първия


for (int i = n-1; i >= 0; i--)
Console.Write(arr[i] + " ");
Console.WriteLine();
13
Какво научихме този час?
 Достъпът до елемент от масив става с
посочване на името на масива и индекса му
 Индексите са от 0 до Length-1. Броят на
елементите е постоянен

14

You might also like