D2. Задачи на заполнение и вывод массива нестандартными методами

Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи.
Внимание! При решении задач обязательно учтите Рекомендации по оформлению решений задач на двумерные массивы

Решены задачи нет. Не решены: пока все.

Задачи

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: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.


Помощь проекту:

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
9 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

D2.8. Заполнить двумерный массив размером 7 x 7 числами 1, 2, …, 49, расположенными в нем по спирали (рисунок).

            int[,] array = new int[7, 7];
            int[] array2 = new int[49];
            int k = 1;
            for(int i= 0; i < 7; i++)
            {
                for(int j=0; j < 7; j++, k++)
                {
                    array[i, j] = k;
                    Console.Write(array[i, j] + "\t");
                }
                Console.WriteLine();
            }
            k = 0;
            for(int i=0; i<7; i++)
            {
                for(int j=0; j < 7; j++)
                {
                    array2[k] = array[i, j];
                    k++;
                }
            }
            int n = 0;
            for(int i = 0; i < 7; i++)
            {
                for(int j = i; j < 7-i; j++)
                {
                    array[i, j] = array2[n++];
                }
                for(int l = i+1; l < 7-i; l++)
                {
                    array[l, 7-1-i] = array2[n++];
                }
                for(int j = 7-i-2; j>=i; j--)
                {
                    array[7-1-i, j] = array2[n++];
                }
                for(int l = 7-2-i; l > i; l--)
                {
                    array[l, i] = array2[n++]; 
                }
            }
            for (int i = 0; i < 7; i++)
            {
                for (int j = 0; j < 7; j++)
                {
                    Console.Write(array[i, j] + "\t");
                }
                Console.WriteLine();
            }

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();
    }
  }
}

Последний раз редактировалось 1 год назад Евгений ем
using System;
namespace Task1
{
    class Program
    {
        public Program()
        {
            int[,] num = new int[10, 10];
            for (int i = 1; i < num.GetLength(0); i++)
            {
                for (int j = 1; j < num.GetLength(1); j++)
                {
                    Console.Write($"{i}*{j}={i*j} \t");
                }
                Console.WriteLine("\n");
            }
        }
    }
    class Array2D
    {
        static void Main()
        {
            Program X = new Program();
        }
    }
}
Последний раз редактировалось 1 год назад Евгений ем

D2.7. Заполнить двумерный массив размером 5 5 так, как представлено на рисунке.
решил без применения классов, для экономии времени, прошу простить)

class Program
    {
        static void Main(string[] args)
        {
            int line1 = 5;// линий
            int column1 = 5;//столбцов
            int[,] array = new int[line1, column1];//массив
            int line = line1-1;// кординат линии
            int column = column1;//кординат столбца
            int counter = 1;//счетчик
            bool MotionSelector = true;//селектор движения(вперед,назад)
            bool DirectionSelector = true; //селектор направления(горизонталь,вертикаль)
            int CurrentLine = 0;//текущая строка
            int CurrentColumn = 0;//текущий столбец
            while (counter <= line1 * column1)
                if (MotionSelector == true)
                {
                    if(DirectionSelector == true)
                    {
                        for(int i=0;i < column;i++)
                        {
                            array[CurrentLine, CurrentColumn] = counter;
                            counter++;
                            CurrentColumn++;
                        }
                        CurrentColumn--;
                        DirectionSelector = false;
                        column--;
                        CurrentLine = CurrentLine+1;
                    }
                    if(DirectionSelector==false)
                    {
                        for (int i = 0; i < line; i++)
                        {
                            array[CurrentLine, CurrentColumn] = counter;
                            counter++;
                            CurrentLine++;
                        }
                        CurrentLine--;
                        DirectionSelector = true;
                        MotionSelector = false;
                        line--;
                        CurrentColumn = CurrentColumn-1;
                    }
                } 
                else
                {
                    if (DirectionSelector == true)
                    {
                        for (int i = 0; i < column; i++)
                        {
                            array[CurrentLine, CurrentColumn] = counter;
                            counter++;
                            CurrentColumn--;
                        }
                        CurrentColumn++;
                        DirectionSelector = false;
                        column--;
                        CurrentLine = CurrentLine-1;
                        
                    }
                    if (DirectionSelector == false)
                    {
                        for (int i = 0; i < line; i++)
                        {
                            array[CurrentLine, CurrentColumn] = counter;
                            counter++;
                            CurrentLine--;
                        }
                        CurrentLine++;
                        DirectionSelector = true;
                        MotionSelector = true;
                        line--;
                        CurrentColumn = CurrentColumn+1;
                    }
                }
       for(int i=0;i<line1;i++)
            {
                for (int ii = 0; ii < column1; ii++)
                    Console.Write(array[i, ii] + " ");
                Console.WriteLine();
            }
    
        }
    }
}
Важно: Вы можете поддержать проект и автора.

Благодарю за совет, буду двигаться в правильном направлении более правильно. :!:

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();
}
}

9
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x