Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Описать структуру "Знакомый" и "Страница" https://www.cyberforum.ru/ csharp-beginners/ thread2141117.html
Описать структуру вида: Struct Знакомый { char фамилия; long номертелефона; }; Struct Страница { Struct Знакомый; }; struct Страница Блокнот; Составить программу, определяющую,...
C# Описать структуру с именем Student
1. Описать структуру с именем STUDENT, содержащую следующие поля: NAME – фамилия и инициалы; GROUP – номер группы; SES – успеваемость (массив из пяти элементов). 2. Написать программу,...
C# Строки, символы и множества https://www.cyberforum.ru/ csharp-beginners/ thread2141113.html
2. Для каждого слова заданного предложения, указать долю согласных. Определить слово, в котором доля согласных максимальна.
C# Функции библиотеки для работы со строками и символами С помощью текстового редактора создать файл, содержащий текст, длина кото¬рого не превышает 1000 символов (длина строки текста не должна превышать 70 символов). Имя файла должно иметь расширение DAT.... https://www.cyberforum.ru/ csharp-beginners/ thread2141112.html
С помощью перестановок строк/столбцов разместить максимальный по модулю элемент матрицы в правом верхнем углу C#
Доброго времени соток уважаемые шаманы и программисты C#. Подскажите пожалуйста как решить данную задачку: 10. Дан массив размера n × n. С помощью перестановок двух строк или двух столбцов...
C# Обработка символьной информации: дописать одну строку в начало другой Составьте программу, которая дописывает одну строку у начало другой. https://www.cyberforum.ru/ csharp-beginners/ thread2141110.html
C# Произвести указанную корректировку, переформируя строки в пределах абзаца Текст записан 60-символьными строками, содержит знаки корректуры: $ - сделать красную строку; # - удалить следующее слово; @ - удалить следующую фразу. Произвести указанную корректировку,... https://www.cyberforum.ru/ csharp-beginners/ thread2141106.html Среди заданных чисел найти такие, десятичная запись которых не содержит одинаковых цифр C#
Среди заданных чисел найти такие, десятичная запись которых не содержит одинаковых цифр C#
C# Написать программу, которая: выводит текст на экран дисплея С помощью текстового редактора создать файл, содержащий текст, длина кото¬рого не превышает 1000 символов (длина строки текста не должна превышать 70 символов). Имя файла должно иметь расширение DAT.... https://www.cyberforum.ru/ csharp-beginners/ thread2141104.html C# Заменить цифры в строке 1 на 2, 2 на 3, . , 9 на 0 https://www.cyberforum.ru/ csharp-beginners/ thread2141103.html
Строка состоит из цифр и букв. Заменить цифры в строке 1 на 2, 2 на 3, ... , 9 на 0. Уже второй день пытаюсь что-то внятное сделать... namespace _1._6 { public partial class Form1 : Form ...
C# Вычисление суммы сходящегося ряда
Доброго времени соток уважаемые шаманы и программисты C#. Подскажите пожалуйста как решить данную задачку: Вычислить сумму сходящего ряда по формуле: Как я понял что знак " - " в конце обозначает...
C# Описать функцию minmax(x,y), и благодаря ей перераспределить введёные данные Описать функцию minmax(x, y), которая присваивает первому параметру большее, второму меньшее из значений x, y. Используя эту функцию, перераспределить введёные значения переменных A,B,C так, чтобы... https://www.cyberforum.ru/ csharp-beginners/ thread2141044.html
187 / 175 / 111
Регистрация: 22.06.2009
Сообщений: 533
22.11.2017, 14:44 0

Алгоритм заполнения двумерных массивов - C# - Ответ 11871631

22.11.2017, 14:44. Показов 768. Ответов 4
Метки (Все метки)

Ответ

Захар1999, второе задание
Заполнение змейкой называется..
Делал как то для C++, вот переделал под C#
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
using System;
 
namespace csharp_console {
 
    class Matrix {
        int X, Y, x, y, count;
        int[][] arr;
        public bool finish() {
            return count < X * Y;
        }
        public Matrix(int y0, int x0) {
            X = x0;
            Y = y0;
            arr = new int[Y][];
            for (int i = 0; i < Y; i++)
                arr[i] = new int[X];
            arr[0][0] = 1;
            x = 0; y = 0;
            count = 1;
        }
        public int[][] get() {
            return arr;
        }
        public bool down() {
            if ((Y - 1) > y) {
                y++;
                return true;
            } else
                return false;
        }
        public bool right() {
            if ((X - 1) > x) {
                x++;
                return true;
            } else
                return false;
        }
        public bool left() {
            if (0 < x) {
                x--;
                return true;
            } else
                return false;
        }
        public bool up() {
            if (0 < y) {
                y--;
                return true;
            } else
                return false;
        }
        public void add() {
            arr[y][x] = ++count;
            //   print();
        }
        void print() {
            Console.WriteLine("arr[" + this.y + "][" + this.x + "] =" + this.count);
        }
    }
 
    class SnakeMatrix {
        Matrix mt;
        public SnakeMatrix(Matrix mt) {
            this.mt = mt;
            Pop();
        }
        private void Pop() {
            while (mt.finish()) {
                while (mt.finish()) {
                    if (!mt.down()) {
                        mt.right();
                        mt.add();
                        break;
                    }
                    if (!mt.left()) {
                        mt.add();
                        break;
                    }
                    mt.add();
                }
                while (mt.finish()) {
                    if (!mt.right()) {
                        mt.down();
                        mt.add();
                        break;
                    }
 
                    if (!mt.up()) {
                        mt.add();
                        break;
                    }
                    mt.add();
                }
            }
        }
        public void Print() {
            int[][] arr = mt.get();
            for (int i = 0; i < arr.Length; i++) {
                for (int j = 0; j < arr[i].Length; j++)
                    Console.Write("[{0}]", arr[i][j]);
                Console.WriteLine();
            }
        }
    }
 
    class thread2141123 {
        static void Main(string[] args) {
            Matrix mt;
            SnakeMatrix sm;
            int x, y;
            Console.WriteLine("Введите X и Y для матрицы: ");
            Console.Write("X: ");
            x = Convert.ToInt32(Console.ReadLine());
            Console.Write("Y: ");
            y = Convert.ToInt32(Console.ReadLine());
            x = x <= 0 ? 1 : x;
            y = y <= 0 ? 1 : y;
            mt = new Matrix(y, x);
            sm = new SnakeMatrix(mt);
            Console.WriteLine("");
            sm.Print();
 
        }
    }
}


Вернуться к обсуждению:
Алгоритм заполнения двумерных массивов C#
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2017, 14:44
Готовые ответы и решения:

Обработка двумерных массивов
Здравствуйте, уважаемые! Нашел на просторах интернета такую задачку: Составить программу для ввода...

Обработка двумерных массивов
Задан массив A(m,n). Сформировать массив C из элементов четных столбцов и массив B из элементов...

Обработка двумерных массивов
Хелп ми плиз

Создание n-го количества двумерных массивов
По заданию необходимо создать N двумерных массивов. В качестве N выступает количество элементов в...

4
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2017, 14:44

Создание и заполнение двумерных массивов
как нада сделатъ ето на Двухмерный массив? using System; using System.Collections.Generic; using...

Как создать N двумерных массивов на n столбцов
1. Посчитать количество (N) объектов; 1.1 Найти максимальный элемент; 2. Посчитать количество(n)...

Сравнение элементов матриц (двумерных массивов)
Здравствуйте! Несколько подзавис при написании программы. Суть в том, что 2 матрицы a (n*m) и b...

Объединение двух двумерных массивов в один
Есть двумерный массив N*N и к нему нужно справа добавить ещё один массив такого же размера у...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.