Автоматическое заполнение массива - C#
Формулировка задачи:
Ребят, помогите. Нужно заполнить массив. У меня есть первая строка, которая выглядит таким образом 1000, мне нужно сложить третий и четвертый элемент по модулю два. Полученный результат записать в начало второй строки массива и переписать первые три элемента первой строки, то есть, вторая строка будет выглядеть так 0100, третья соответственно 0010, четвертая 1001 и так до 15 раз. Очень срочно нужно.
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApp2
- {
- class Program
- {
- static void Main(string[] args)
- {
- int[] x = { 1, 0, 0, 0 };
- int sum = 0;
- for (int i = 0; i < 4; i++)
- {
- sum = x[2] + x[3];
- }
- Console.WriteLine("1, 0, 0, 0");
- Console.WriteLine(sum);
- Console.ReadKey();
- }
- }
- }
Решение задачи: «Автоматическое заполнение массива»
textual
Листинг программы
- int n = 15, m = 4;
- int[][] y = new int[n][];
- y[0] = new int[]{ 1, 0, 0, 0 };
- for (int i = 1; i < n; i++)
- {
- y[i] = new int[m];
- Array.Copy(y[i - 1], 0, y[i], 1, m - 1);
- y[i][0] = y[i - 1][m - 1] ^ y[i - 1][m - 2];
- }
- // Вся таблица
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- Console.Write(y[i][j]);
- Console.WriteLine();
- }
- // Первый столбец
- for (int i = 0; i < n; i++)
- Console.Write(y[i][0]);
- Console.WriteLine();
- // Если нужно собрать число:
- int z = 0;
- for (int i = 0; i < n; i++)
- z = (z << 1) | y[i][0];
- Console.WriteLine(Convert.ToString(z, 2) + " = " + z);
- Console.ReadLine();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д