You are on page 1of 34

Агрегатни типове.

Изготвил: Мария Денишева-Илиева


1. Какво са масивите?
2. Работа с масиви
Зад.1 Създайте масив със стойности { 1, 2, 3 }
и отпечатайте елементите на масива
 static void Main(string[] args)
 {
 // Създаване на масив
 int[] numbers = { 1, 2, 3 };

 //Достъп до първи елемент


 Console.WriteLine("Element in first index : " + numbers[0]);

 // Достъп до втори елемент


 Console.WriteLine("Element in second index : " + numbers[1]);

 // Достъп до трети елемент


 Console.WriteLine("Element in third index : " + numbers[2]);

 }
Зад.2 Създайте масив със стойности { 1, 2, 3 }. Сменете стойността
на елемент с индекс 0 на 11 и отпечатайте елемента на индекс 0
 static void Main(string[] args)
 {
 // Създаване на масив
 int[] numbers = { 1, 2, 3 };

 Console.WriteLine("Old Value at index 0: " + numbers[0]);

 // Смяна на стойността на индекс 0


 numbers[0] = 11;

 //Отпечатване на новата стойност


 Console.WriteLine("New Value at index 0: " + numbers[0]);

 }
Зад.3 Създайте масив със стойности { 1, 2, 3 }. Отпечатайте
елементите на масива на съответния индекс
 static void Main(string[] args)
 {
 int[] numbers = { 1, 2, 3 }; //Създаване
на масива

 for (int i = 0; i <= numbers.Length - 1;


i++) //Обхождане на масива
 {
 Console.WriteLine("Element in index
" + i + ": " + numbers[i]); //Отпечатване на елементите
на масива
 }
 }
Зад.3 Създайте масив със стойности { 1, 2, 3 }. Отпечатайте първият
и последният елемент на масива.
 static void Main(string[] args)
 {
 int[] numbers = { 1, 2, 3 }; //Създаване
на масива

 Console.WriteLine("The first element on


array is: " + numbers[0]); //Отпечатване на първия
елемент на масива
 Console.WriteLine("The last element on
array is: " + numbers[numbers.Length - 1]);
//Отпечатване на последния елемент на масива
 }
Зад.5 Ден от седмицата
Зад.5 Ден от седмицата
Зад.6 Отпечатайте числата в обратен ред
Зад.6 Отпечатайте числата в обратен ред
 static void Main(string[] args)
 {
 int n = int.Parse(Console.ReadLine());
 int[] numArray = new int[n];
 for (int i = 0; i < numArray.Length -1; i++)
 {
 numArray[i] = int.Parse(Console.ReadLine());
 }

 for (int i = numArray.Length - 1; i >= 0; i--)


 {
 Console.WriteLine(numArray[i] + " ");
 }
 }
Зад.7
 static void Main(string[] args)
 {
 int[] evenNum = {2, 4, 6, 8, 10 }; //Присвояваме стойности на масива
 Console.WriteLine("Stojnosti na elementite na masiva:");
 for(int i = 0; i <= evenNum.Length - 1; i++) //Обхождаме масива с цел отпечатване
 {
 Console.WriteLine(evenNum[i]);
 }
 Console.WriteLine("Novi stojnosti na elementite na masiva:");
 for (int i = 0; i <= evenNum.Length - 1; i++)//Обхождаме масива с цел отпечатване
 {
 evenNum[i] = evenNum[i] + 10; //Обновяване на елементите на масива като ги
увеличаваме с 10
 Console.WriteLine(evenNum[i]);
 }
 }
3. Как да разделяте низове с помощта на
String.Split в C#
Методът String.Split създава масив от поднизове чрез
разделяне на входния низ въз основа на един или повече
разделители.
Например ако имате низа „1 2 3 4 5“ след използване
на метода String.Split ще се получат низовете: „1“ „2“ „3“
„4“ „5“.
Зад.7 Разделяне на изречението „My name is
Maria Denisheva-Ilieva.“ на отделни думи
 static void Main(string[] args)
 {
 string phrase = "My name is Maria Denisheva-Ilieva."; //Низ
 string[] words = phrase.Split(" "); //Разделяме със Split
изречението на отделни думи

 for (int i = 0; i <= words.Length -1; i++) //Обхождаме низа


чрез цикъла for
 {
 string curentWords = words[i];
 Console.WriteLine(words[i]); //Отпечатваме на всяка
итерация дума по дума
 }
 }
Зад.8 Разделяне на изречението 11a;class."
на отделни думи
 static void Main(string[] args)
 {
 string phrase = "11a;class."; //Низ, като "11a;class." са разделени
с ;
 string[] words = phrase.Split(";"); //Разделяме със Split
изречението на отделни думи

 for (int i = 0; i <= words.Length -1; i++) //Обхождаме низа чрез


цикъла for
 {
 string curentWords = words[i];
 Console.WriteLine(words[i]); //Отпечатваме на всяка итерация
дума по дума

 }
 }
Зад.9 Разделяне на низа „1 2 3 4 5“ на отделни
низове „1“ „2“ „3“ „4“ „5“
 static void Main(string[] args)
 {
 string phrase = "1 2 3 4 5"; //Низ
 string[] num = phrase.Split(„ "); //Разделяме със Split
низа на отделни низове

 for (int i = 0; i <= num.Length -1; i++) //Обхождаме низа


чрез цикъла for
 {
 int curentNum = int.Parse(num[i]); //превръщане на
string в int на num[i]
 Console.WriteLine(num[i]); //Отпечатваме на нов ред
всяко число
 }
 }
Зад.10 Сумиране на четни числа
 static void Main(string[] args)
 {
 string inputLine = Console.ReadLine();
 string[] numArray = inputLine.Split(" ");
 int sum = 0;
 for (int i = 0; i < numArray.Length -1; i++)
 {
 int currentElement = int.Parse(numArray[i]);
 if (currentElement % 2 == 0)
 {
 sum += currentElement;
 }
 }
 Console.WriteLine(sum);
 }
Зад.11 Четно и нечетно изваждане
 static void Main(string[] args)
 {
 string inputLine = Console.ReadLine(); //Чете низа
 string[] numArray = inputLine.Split(" "); //Разделя низа на отделни
низове
 int sumEven = 0;
 int sumOdd = 0;
 for (int i = 0; i <= numArray.Length-1; i++)
 {
 int curentNum = int.Parse(numArray[i]); //Превръща nunArray[i]
от string в int
 if (curentNum % 2 == 0)
 {
 sumEven += curentNum;
 }
 else
 {
 sumOdd += curentNum;
 }
 }
 int difference = sumEven - sumOdd;
 Console.WriteLine(difference);
 }
Зад.12 Равни масиви
 static void Main(string[] args)
 {
 string inputString1 = Console.ReadLine();
 string inputString2 = Console.ReadLine();
 int sum = 0;

 string[] firstArr = inputString1.Split(" ");
 string[] secondArr = inputString2.Split(" ");
 for (int i = 0; i <= firstArr.Length - 1; i++)
 {
 int currentNum1 = int.Parse(firstArr[i]);

 int currentNum2 = int.Parse(secondArr[i]);

 if (currentNum1 != currentNum2)
 {
 Console.WriteLine("Arrays are not identical. Found difference at {0} index.", i);
 return;
 }
 sum = sum + currentNum1;

 }
 Console.WriteLine("Arrays are identical. Sum: {0}", sum);
 }
Зад.13 Влак
 static void Main(string[] args)
 {

 int n = int.Parse(Console.ReadLine());
 int sum = 0;
 int[] numArr = new int[n];
 for (int i = 0; i <= numArr.Length - 1; i++)
 {
 int num = int.Parse(Console.ReadLine());
 sum += num;
 numArr[i] = num;

 }
 for (int i = 0; i <= numArr.Length - 1; i++)
 {
 Console.Write(numArr[i] + " ");
 }
 Console.WriteLine();
 Console.WriteLine(sum);
 }
4. Колекции
Масивите са статични агрегатни типове, които не могат да променят
размера си.
Съществуват и динамични агрегатни типове, наречени колекции, които
могат да променят размера си, може да се добавят и изтриват елементи по
време на изпълнение на програмата.
Пример за динамичен агрегатен тип е списъкът. Елементите на списъка
също имат индекси, но индексирането е динамично, т.е. ако вмъкнем елемент
в средата на списъка, индексите на следващите елементи автоматично се
променят.
За да използваме списък, трябва да включим пространството от имена
using System.Collections.Generic;
Дължината на списъка се означава с Count
Деклариране на списък:
List <тип> <име на сп.> = new List<тип>();
Методи за обработка на списък:
void Clear() – изтрива всички елементи от
списъка;
int Add(<елемент>) – добавя елемент в края на
списъка
void Insert (<индекс>,<елемент>) – вмъква
елемент на указаната позиция
void RemoveAt(<индекс>) – премахва елемента
от посочената позиция
This(индекс>) – дава достъп до елемента с
посочения индекс
Достъпване на елементите:
<име на сп.>[индекс]
Свойство Count – връща броя на елементите в
списъка
Зад.1 Създаване празен списък. Добавяне на
елементи и отпечатване на елементите му
 static void Main(string[] args)
 {
 List<string> nameList = new List<string>(); //Създаване на
списък nameList, който е празен
 //Добавяне на елементи към списъка
 nameList.Add("Peter");
 nameList.Add("Maria");
 nameList.Add("George");
 for (int i = 0; i <= nameList.Count-1; i++) //Обхождане на
списъка с цел да се отпечат елементите на списъка
 {
 Console.WriteLine(nameList[i]);//Отпечатване на
елементите на списъка
 }
 }
Зад.2 Създаване празен списък. Добавяне на елементи.
Премахване на един елемент и отпечатване на елементите му
 static void Main(string[] args)
 {
 List<string> nameList = new List<string>(); //Създаване на
списък nameList, който е празен
 //Добавяне на елементи към списъка
 nameList.Add("Peter");
 nameList.Add("Maria");
 nameList.Add("George");
 nameList.Remove("Maria"); //Премахване на елемента "Maria"
 for (int i = 0; i <= nameList.Count-1; i++) //Обхождане на
списъка с цел да се отпечат елементите на списъка
 {
 Console.WriteLine(nameList[i]);//Отпечатване на
елементите на списъка
 }
Зад.3 Създаване списък със съответни стойности. Премахване на елемент
20 . Добавяне на елемент 100 и отпечатване на елементите му
 static void Main(string[] args)
 {
 List<int> nums = new List<int>() { 10, 20,
30, 40, 50, 60 }; //Създаване на списък със съответните
стойности
 nums.Remove(20); //Премахване на елемент 20
 nums.Add(100); //Добавяне на елемент 100

 for (int i = 0; i <= nums.Count - 1; i++)
//Обхождане на списъка с цел да се отпечата
 Console.WriteLine(nums[i]); //Отпечатва
 }
Зад.4 Списък
 static void Main(string[] args)
 {
 List<int> nums = new List<int>() { 1, 2, 5, 7, 8, 10 }; //Създаване на списък със
съответните стойности
 Console.WriteLine(nums[0]); //Елемент на индекс 0
 Console.WriteLine(nums[1]); //Елемент на индекс 1
 Console.WriteLine(nums[2]); //Елемент на индекс 2
 Console.WriteLine(nums[3]); //Елемент на индекс 3
 Console.WriteLine(nums[4]); //Елемент на индекс 4
 Console.WriteLine(nums[5]); //Елемент на индекс 5

 nums.Add(20); //Добавяне на елемент 20


 nums.Insert(2, 200); //Вмъкване на индекс 2 на елеменета 200
 nums.RemoveAt(4); //Премахва елемента на индекс 4
 nums[1] = nums[1] * 500; // nums[1] = 2
 Console.WriteLine("New writeLine");

 for (int i = 0; i <= nums.Count - 1; i++) //Обхождане на списъка с цел да се
отпечата
 Console.WriteLine(nums[i]); //Отпечатва
 }
Резултат:
Зад.5 Списък
 static void Main(string[] args)
 {
 List<int> myList = new List<int>(); //Създаване на празен списък
 for (int i = 0; i < 5; i++)
 {
 Console.WriteLine("Input element:");
 myList.Add(int.Parse(Console.ReadLine())); //Чете от конзолата елемент
 }
 myList.Insert(3, 5); //вмъква на 3 позиция елемент със стойност 5
 myList.RemoveAt(2); //изтрива елемента на 2 индекс
 for(int i = 0; i <= myList.Count - 1; i++) //Обхождане на списъка с цел
отпечатване
 {
 Console.WriteLine("The new element is: {0}", myList[i]);
 }
 }
 }
Резултат:

You might also like