Структуры данных: массивы (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 нечётных чисел ===
==== Вариант 1 ====
+
<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>
  
==== Вариант 2 ====
 
<syntaxhighlight lang="c" line>
 
 
</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>
  
 
=== Разделить массив на два: на положительные+ноль и отрицательные числа ===
 
=== Разделить массив на два: на положительные+ноль и отрицательные числа ===
==== Вариант 1 ====
+
<syntaxhighlight lang="c#" line>
<syntaxhighlight lang="c" line>
+
using System;
 
+
using System.Linq;
</syntaxhighlight>
 
  
==== Вариант 2 ====
+
namespace ConsoleApp1
<syntaxhighlight lang="c" line>
+
{
 +
    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>
  
==== Вариант 3 ====
 
<syntaxhighlight lang="c" line>
 
 
</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 }


Задачник