Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи.
Внимание! При решении задач обязательно учтите Рекомендации по оформлению решений задач на двумерные массивы
Решены задачи нет. Не решены: пока все.
Задачи
D2.1. Заполнить двумерный массив результатами таблицы умножения (в первой строке должны быть записаны произведения каждого из чисел от 1 до 9 на 1,
во второй — на 2, …, в последней — на 9).
D2.2. Заполнить двумерный массив размером 7 x 7 так, как показано на рисунках а, б, в.
D2.3. Заполнить массив размером 6 x 6 так, как показано на рисунках а, б.
D2.4. Заполнить двумерный массив так, как представлено на рис. a — р.
D2.5. Заполнить двумерный массив размером n x n единицами и нулями таким образом, чтобы единицы размещались так, как размещаются на шахматной доске черные поля, а нули — как белые поля. Левое нижнее поле на шахматной доске всегда черное. Задачу решить:
а) при четном значении n;
б) при нечетном значении n.
D2.6. Дан двумерный массив из m строк и n столбцов. Заполнить его значениями элементов одномерного массива размером m x n . Заполнение проводить по строкам, начиная с первой (а в ней — начиная с первого элемента).
D2.7. Заполнить двумерный массив размером 5 5 так, как представлено на рисунке.
D2.8. Заполнить двумерный массив размером 7 x 7 числами 1, 2, …, 49, расположенными в нем по спирали (рисунок).
D2.9. Дан двумерный массив размером 9 x 9. Построить последовательность чисел, получающуюся при чтении этого массива по спирали (см. задачу D2.8).
D2.10. Используя датчик случайных чисел, заполнить двумерный массив не повторяющимися числами.
D2.11. Дан двумерный массив. Вывести на экран:
а) все элементы третьей строки массива, начиная с последнего элемента этой строки;
б) все элементы k-го столбца массива, начиная с нижнего элемента этого столбца.
D2.12. Дан двумерный массив. Вывести на экран:
а) все элементы пятого столбца массива, начиная с последнего элемента этого столбца;
б) все элементы n-й строки массива, начиная с нижнего элемента этой строки.
D2.13. Дан двумерный массив. Вывести на экран его элементы следующим образом:
а) сначала элементы первой строки справа налево, затем второй строки справа налево и т. п.;
б) сначала элементы первой строки справа налево, затем второй строки слева направо и т. п.;
в) сначала элементы первого столбца сверху вниз, затем второго столбца сверху вниз и т. п.;
г) сначала элементы первого столбца снизу вверх, затем второго столбца снизу вверх и т. п.
NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.
D2.8. Заполнить двумерный массив размером 7 x 7 числами 1, 2, …, 49, расположенными в нем по спирали (рисунок).
using System;
namespace Task2a
{
class Program
{
public Program()
{
int[,] num = new int[8, 8];
for (int i = 1; i < num.GetLength(0); i++)
{
for (int j = 1, q= num.GetLength(1); j < num.GetLength(1); j++)
{
if (i == j)
Console.Write($»1 \t»);
else if (q == i+j)
Console.Write($»1 \t»);
else
Console.Write($»0 \t»);
}
Console.WriteLine(«\n»);
}
}
}
class Array2D
{
static void Main()
{
Program X = new Program();
}
}
}
D2.7. Заполнить двумерный массив размером 5 5 так, как представлено на рисунке.
решил без применения классов, для экономии времени, прошу простить)
Николай, движение в правильном направлении.
Но код сложно читать и понять. Уберите комментарии. Назовите переменные понятно. Их число можно уменьшить. Алгоритм можно значительно упростить.
Благодарю за совет, буду двигаться в правильном направлении более правильно. :!:
D2.2 (a)
using System;
using System.Linq;
namespace Задача_2
{
// Заполнить двумерный массив размером 7 x 7 так, как показано на рисунках а, б, в.
class Program
{
static int[,] GetNumsA(ref int[,] matrix)
{
for (int x = 0; x < matrix.GetLength(0); x++)
{
for (int y = 0; y < matrix.GetLength(1); y++)
{
if (y == x)
{
matrix[x, y] = 1;
}
else if (y == (matrix.GetLength(1) — 1) — x)
{
matrix[x, y] = 1;
}
else
{
matrix[x, y] = 0;
}
}
}
return matrix;
}
static void Main(string[] args)
{
int[,] matrix = new int[7, 7];
// a) 1 крест на крест
GetNumsA(ref matrix);
for (int x = 0; x < matrix.GetLength(0); x++)
{
for (int y = 0; y < matrix.GetLength(1); y++)
{
Console.Write($"{matrix[x, y]}\t");
}
Console.WriteLine();
}
}
}
}
D2.1
static int[,] GetMultipleMatrix(ref int[,] matrix)
{
for (int x = 0; x < matrix.GetLength(0); x++)
{
for (int y = 0; y < matrix.GetLength(1); y++)
{
matrix[x, y] = (y + 1) * (x + 1);
}
}
return matrix;
}
static void Main(string[] args)
{
int[,] matrix = new int[9, 9];
GetMultipleMatrix(ref matrix);
for (int x = 0; x < matrix.GetLength(0); x++)
{
for (int y = 0; y < matrix.GetLength(1); y++)
{
Console.Write($"{matrix[x, y]}\t");
}
Console.WriteLine();
}
}
D2.1
static int[,] GetMultipleMatrix(ref int[,] matrix)
{
for (int x = 0; x < matrix.GetLength(0); x++)
{
for (int y = 0; y < matrix.GetLength(1); y++)
{
matrix[x, y] = (y + 1) * (x + 1);
}
}
return matrix;
}
static void Main(string[] args)
{
int[,] matrix = new int[9, 9];
GetMultipleMatrix(ref matrix);
for (int x = 0; x < matrix.GetLength(0); x++)
{
for (int y = 0; y < matrix.GetLength(1); y++)
{
Console.Write($"{matrix[x, y]}\t");
}
Console.WriteLine();
}
}