Заполнение массива змейкой - C# (180832)
Формулировка задачи:
пример
43210
56789
для заполнения обязательно использовать вектор
Листинг программы
- class Program
- {
- static void arr_input ( int[] vector)
- {
- for (int i = 0; i < vector.Length; i++)
- vector[i] = i + 1;
- }
- static void arr_output(int[,] array)
- {
- for (int i = 0; i < array.GetLength(0); i++)
- {
- for (int j = 0; j < array.GetLength(1); j++)
- {
- Console.Write(array[i, j]);
- }
- Console.WriteLine();
- }
- }
- static void Main(string[] args)
- {
- int[] vector=new int [80];
- int[,] array=new int[8,8];
- arr_input( vector);
- filling(vector, array);
- arr_output(array);
- }
- static void filling (int [] vector,int [,]mas)
- {
- int k = 0;
- for (int i = 0; i < mas.GetLength(0); i++)
- {
- if (i % 2 == 0)
- {
- for (int j = 0; j < mas.GetLength(1)-1; j++)
- {
- mas[i, j] = vector[k];
- k++;
- }
- }
- for (int j = mas.GetLength(1); j > 0; j--)
- {
- mas[i, j] = vector[k];
- k++;
- }
- }
- }
- }
Решение задачи: «Заполнение массива змейкой»
textual
Листинг программы
- using System;
- using System.Linq;
- class Program
- {
- static void Fill(int[,] matrix, int[] vector)
- {
- int begin = 0;
- int end = matrix.GetLength(1);
- int step = 1;
- int idx = -1;
- for (int i = 0; i < matrix.GetLength(0); i++)
- {
- begin = matrix.GetLength(1) - 1 - begin;
- end = matrix.GetLength(1) - 1 - end;
- step = -step;
- for (int j = begin; j != end; j += step)
- {
- idx = (idx + 1) % vector.Length;
- matrix[i, j] = vector[idx];
- }
- }
- }
- static void Main()
- {
- int[] arr = Enumerable.Repeat(new Random(), 20).Select(r => r.Next(100)).ToArray();
- Console.WriteLine(String.Join(", ", arr));
- int[,] matrix = new int[5, 5];
- Fill(matrix, arr);
- Console.WriteLine();
- for (int i = 0; i < matrix.GetLength(0); i++)
- {
- for (int j = 0; j < matrix.GetLength(1); j++)
- {
- Console.Write(matrix[i, j]);
- Console.Write("\t");
- }
- Console.WriteLine();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д