Структуры данных: массивы (C-Sharp): различия между версиями
Перейти к навигации
Перейти к поиску
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | {{TOCRight}} | ||
== Массивы == | == Массивы == | ||
* [https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/arrays/ Массивы (Руководство по программированию на C#)] | * [https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/arrays/ Массивы (Руководство по программированию на C#)] | ||
Строка 4: | Строка 5: | ||
== Задачи == | == Задачи == | ||
=== Вывод всех целых чисел массива через пробел циклом For === | === Вывод всех целых чисел массива через пробел циклом For === | ||
− | <syntaxhighlight lang="c" line> | + | <syntaxhighlight lang="c#" line> |
+ | using System; | ||
+ | namespace ConsoleApp1 | ||
+ | { | ||
+ | class Program | ||
+ | { | ||
+ | static void Main(string[] args) | ||
+ | { | ||
+ | int[] a = {1, 3, 6, 33, 21, 67, 4}; | ||
+ | for (int i = 0; i < a.Length; i++) | ||
+ | { | ||
+ | Console.Write($"{a[i]} "); | ||
+ | } | ||
+ | Console.WriteLine(); | ||
+ | } | ||
+ | } | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Сделать массив из первых n нечётных чисел === | === Сделать массив из первых n нечётных чисел === | ||
− | + | <syntaxhighlight lang="c#" line> | |
− | <syntaxhighlight lang="c" line> | + | using System; |
+ | using System.Linq; | ||
+ | namespace ConsoleApp1 | ||
+ | { | ||
+ | class Program | ||
+ | { | ||
+ | static void Main(string[] args) | ||
+ | { | ||
+ | int n = 10; | ||
+ | var a = Enumerable.Range(1, n).Select(num => 2 * num - 1).ToArray(); | ||
+ | Console.WriteLine(String.Join(" ", a)); | ||
+ | } | ||
+ | } | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
=== Сгенерировать массив случайных чисел === | === Сгенерировать массив случайных чисел === | ||
− | <syntaxhighlight lang="c" line> | + | <syntaxhighlight lang="c#" line> |
+ | using System; | ||
+ | namespace ConsoleApp1 | ||
+ | { | ||
+ | class Program | ||
+ | { | ||
+ | static void Main(string[] args) | ||
+ | { | ||
+ | int[] a = new int[10]; | ||
+ | Random rnd = new Random(); | ||
+ | |||
+ | for (int i = 0; i < a.Length; i++) | ||
+ | { | ||
+ | a[i] = rnd.Next(-100, 100); | ||
+ | } | ||
+ | |||
+ | Console.WriteLine(String.Join(" ", a)); | ||
+ | } | ||
+ | } | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество === | === Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество === | ||
− | <syntaxhighlight lang="c" line> | + | <syntaxhighlight lang="c#" line> |
+ | using System; | ||
+ | |||
+ | namespace ConsoleApp1 | ||
+ | { | ||
+ | class Program | ||
+ | { | ||
+ | static void Main(string[] args) | ||
+ | { | ||
+ | int[] a = new int[10]; | ||
+ | Random rnd = new Random(); | ||
+ | |||
+ | for (int i = 0; i < a.Length; i++) | ||
+ | { | ||
+ | a[i] = rnd.Next(-100, 100); | ||
+ | } | ||
+ | Console.WriteLine(String.Join(" ", a)); | ||
+ | |||
+ | int count = 0; | ||
+ | for (int i = 0; i < a.Length; i++) | ||
+ | { | ||
+ | if (a[i] % 2 > 0) | ||
+ | { | ||
+ | Console.Write($"{a[i]} "); | ||
+ | count++; | ||
+ | } | ||
+ | } | ||
+ | Console.WriteLine(); | ||
+ | Console.WriteLine($"Odd numbers count = {count}"); | ||
+ | } | ||
+ | } | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Разделить массив на два: на положительные+ноль и отрицательные числа === | === Разделить массив на два: на положительные+ноль и отрицательные числа === | ||
− | + | <syntaxhighlight lang="c#" line> | |
− | <syntaxhighlight lang="c" line> | + | using System; |
− | + | using System.Linq; | |
− | |||
− | ==== | + | namespace ConsoleApp1 |
− | + | { | |
+ | class Program | ||
+ | { | ||
+ | static void Main(string[] args) | ||
+ | { | ||
+ | int[] a = new int[10]; | ||
+ | Random rnd = new Random(); | ||
+ | |||
+ | for (int i = 0; i < a.Length; i++) | ||
+ | { | ||
+ | a[i] = rnd.Next(-100, 100); | ||
+ | } | ||
+ | Console.WriteLine(String.Join(" ", a)); | ||
+ | var pos = a.ToList().Where(num => num >= 0); | ||
+ | var neg = a.ToList().Where(num => num < 0); | ||
+ | |||
+ | Console.WriteLine(String.Join(" ", pos)); | ||
+ | Console.WriteLine(String.Join(" ", neg)); | ||
+ | } | ||
+ | } | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
== Задачник == | == Задачник == | ||
* [http://ptaskbook.com/ru/tasks/array.php Одномерные массивы] | * [http://ptaskbook.com/ru/tasks/array.php Одномерные массивы] | ||
* [http://ptaskbook.com/ru/tasks/matrix.php Двумерные массивы (матрицы)] | * [http://ptaskbook.com/ru/tasks/matrix.php Двумерные массивы (матрицы)] |
Текущая версия на 16:11, 16 июня 2022
Массивы
Задачи
Вывод всех целых чисел массива через пробел циклом For
1 using System;
2
3 namespace ConsoleApp1
4 {
5 class Program
6 {
7 static void Main(string[] args)
8 {
9 int[] a = {1, 3, 6, 33, 21, 67, 4};
10 for (int i = 0; i < a.Length; i++)
11 {
12 Console.Write($"{a[i]} ");
13 }
14 Console.WriteLine();
15 }
16 }
17 }
Сделать массив из первых n нечётных чисел
1 using System;
2 using System.Linq;
3
4 namespace ConsoleApp1
5 {
6 class Program
7 {
8 static void Main(string[] args)
9 {
10 int n = 10;
11 var a = Enumerable.Range(1, n).Select(num => 2 * num - 1).ToArray();
12 Console.WriteLine(String.Join(" ", a));
13 }
14 }
15 }
Сгенерировать массив случайных чисел
1 using System;
2
3 namespace ConsoleApp1
4 {
5 class Program
6 {
7 static void Main(string[] args)
8 {
9 int[] a = new int[10];
10 Random rnd = new Random();
11
12 for (int i = 0; i < a.Length; i++)
13 {
14 a[i] = rnd.Next(-100, 100);
15 }
16
17 Console.WriteLine(String.Join(" ", a));
18 }
19 }
20 }
Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество
1 using System;
2
3 namespace ConsoleApp1
4 {
5 class Program
6 {
7 static void Main(string[] args)
8 {
9 int[] a = new int[10];
10 Random rnd = new Random();
11
12 for (int i = 0; i < a.Length; i++)
13 {
14 a[i] = rnd.Next(-100, 100);
15 }
16 Console.WriteLine(String.Join(" ", a));
17
18 int count = 0;
19 for (int i = 0; i < a.Length; i++)
20 {
21 if (a[i] % 2 > 0)
22 {
23 Console.Write($"{a[i]} ");
24 count++;
25 }
26 }
27 Console.WriteLine();
28
29 Console.WriteLine($"Odd numbers count = {count}");
30 }
31 }
32 }
Разделить массив на два: на положительные+ноль и отрицательные числа
1 using System;
2 using System.Linq;
3
4 namespace ConsoleApp1
5 {
6 class Program
7 {
8 static void Main(string[] args)
9 {
10 int[] a = new int[10];
11 Random rnd = new Random();
12
13 for (int i = 0; i < a.Length; i++)
14 {
15 a[i] = rnd.Next(-100, 100);
16 }
17 Console.WriteLine(String.Join(" ", a));
18
19 var pos = a.ToList().Where(num => num >= 0);
20 var neg = a.ToList().Where(num => num < 0);
21
22 Console.WriteLine(String.Join(" ", pos));
23 Console.WriteLine(String.Join(" ", neg));
24 }
25 }
26 }