Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/55: Рейтинг темы: голосов - 55, средняя оценка - 4.85
16 / 0 / 0
Регистрация: 26.02.2014
Сообщений: 97

Заполнить двумерный массив змейкой

14.03.2014, 11:12. Показов 11601. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста
вот у меня двумерный массив змейкой и получается он у меня только так

0 1 2 3 4 5
6 7 8 9 10 11
12 13 14 15 16 17
18 19 20 21 22 23

а мне надо,что бы выводил вот так
0 1 2 3 4 5
11 10 9 8 7 6
12 13 14 15 16 17
23 22 21 20 19 18

моя программа

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int k=Convert.ToInt32(Console.ReadLine());
            int m = Convert.ToInt32(Console.ReadLine());
            int[,] a = new int[k, m];
            int c = 0;
            for (int i = 0; i < k; i++)
           {
                for (int j = 0; j < m; j++)
                {
                    a[i, j] = c++;
                 
                }
            }
                
 
            for (int i = 0; i < k; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    Console.Write(a[i, j] + " ");
                }
                Console.WriteLine();
            }
            Console.ReadKey();
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2014, 11:12
Ответы с готовыми решениями:

Заполнить двумерный массив заданным образом
Создать двумерный массив вида 1 2 3 4 3 2 1 2 1 2 3 2 1 2 3 2 1 2 1 2 3 4 3 2 1 2 3 4 3 2 1 2 1 2 3 2 1 2 3 2 1 2 1 2...

Как заполнить двумерный массив по спирали?
Как заполнить двумерный массив по спирали. 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 Проект у меня с...

Как заполнить двумерный string массив?
Как заполнить двумерный string массив string Map = {&quot;##########&quot;, &quot;#@ #&quot;, ...

8
 Аватар для Kruds
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
14.03.2014, 11:28
Лучший ответ Сообщение было отмечено NickoTin как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Program
{
    public static void Main()
    {
        int rows = 5, cols = 5;
        int[,] array = new int[rows, cols];
        for (int i = 0; i < rows; i++)
            for (int j = 0; j < cols; j++)
                array[i, j] = i * cols + (i % 2 == 0 ? j : cols - j - 1);
        PrintArray(array);
    }
 
    static void PrintArray(int[,] arr)
    {
        for (int i = 0; i < arr.GetLength(0); i++)
        {
            for (int j = 0; j < arr.GetLength(1); j++)
                Console.Write(arr[i, j] + " ");
            Console.WriteLine();
        }
    }
}
0
16 / 0 / 0
Регистрация: 26.02.2014
Сообщений: 97
14.03.2014, 11:43  [ТС]
Цитата Сообщение от Kruds Посмотреть сообщение
array[i, j] = i * cols + (i % 2 == 0 ? j : cols - j - 1);
а эту строку можно записать не в одну?
а то мне так трудно разобраться
C#
1
2
3
4
   if( i % 2==0)
array[i,j]=(i*cols)+j;
else
array=cols-j-1;
я правильно понял?
0
 Аватар для Kruds
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
14.03.2014, 12:02
C#
1
2
3
4
if( i % 2==0)
array[i,j]=i * cols + j;
else
array[i,j]=cols * (i + 1) - j - 1;
1
16 / 0 / 0
Регистрация: 26.02.2014
Сообщений: 97
14.03.2014, 12:17  [ТС]
Kruds,
Программа должна вывести полученный массив, отводя на вывод каждого числа ровно 3 символа.

не подскажите как это сделать?
0
50 / 49 / 41
Регистрация: 17.12.2013
Сообщений: 101
14.03.2014, 12:22
C#
1
Console.Write("{0,3}",arr[i, j]);
1
16 / 0 / 0
Регистрация: 26.02.2014
Сообщений: 97
14.03.2014, 12:43  [ТС]
Ulluauz,
у меня ещё один вопрос,вот массив размером 5 x 6
и как сделать так чтобы,когда прогу запускаешь чтобы я могла написать 5 6,
а то у меня только сначала 5,потом enter а потом только 6
0
 Аватар для Kruds
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
14.03.2014, 12:55
Gaber78, это принципиально?
C#
1
2
string[] input = Console.ReadLine().Split(' ');
int rows = int.Parse(input[0]), cols = int.Parse(input[1]);
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
14.03.2014, 13:32
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
using System;
using System.Collections.Generic;
 
namespace ConsoleApplication33
{
    class Program
    {
        static void Main()
        {
            const int m = 5;
            int[,] array = GetArray(m);
            PrintArray(array);
            Console.WriteLine();
            int[,] another = GetPrimesArray(m);
            PrintArray(another);
 
        }
 
        private static void PrintArray(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();
            }
        }
 
        private static int[,] GetArray(int n)
        {
            var a = new int[n, n];
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    a[i, j] = 1 + i * n + i % 2 * (n - 2 * j - 1) + j;
                }
            }
            return a;
        }
 
        private static int[,] GetPrimesArray(int n)
        {
            var primes = new List<int>();
            for (int i = 0; primes.Count < n * n; i++)
            {
                if (IsPrime(i))
                    primes.Add(i);
            }
            var a = new int[n, n];
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    a[i, j] = primes[i * n + i % 2 * (n - 2 * j - 1) + j];
                }
            }
            return a;
        }
 
        private static bool IsPrime(int x)
        {
            if (x < 2) return false;
            for (int i = 2; i * i <= x; i++)
                if ((x % i) == 0) return false;
            return true;
        }
    }
}
Добавлено через 2 минуты
Цитата Сообщение от Gaber78 Посмотреть сообщение
у меня ещё один вопрос,вот массив размером 5 x 6
и как сделать так чтобы,когда прогу запускаешь чтобы я могла написать 5 6,
а то у меня только сначала 5,потом enter а потом только 6
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
using System;
 
namespace ConsoleApplication33
{
    class Program
    {
        static void Main()
        {
            const int m = 5, n=6;
            int[,] array = GetArray(m, n);
            PrintArray(array);
            Console.WriteLine();
        }
 
        private static void PrintArray(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();
            }
        }
 
        private static int[,] GetArray(int m, int n)
        {
            var a = new int[m, n];
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    a[i, j] = 1 + i * n + i % 2 * (n - 2 * j - 1) + j;
                }
            }
            return a;
        }
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2014, 13:32
Помогаю со студенческими работами здесь

Заполнить двумерный массив в шахматном порядке
Двумерный массива А размером МхМ заполнить 0 и 1 в шахматном порядке, причём элемент (1,1) должен быть равен 0. Содержимое массива вывести...

Нужно заполнить, двумерный массив с формы
Помогите пожалуйста, не знаю как подступиться даже)))создала массив, 2 цикла for и ступор Заполнить двумерный массив А : 1 2 1 2 1 ...

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

Заполнить двумерный массив следующим образом
10000 11000 11100 11110 11111 решите пожалуйста, а то я уже :wall:

Заполнить двумерный массив числами кратные значению x
Заполнить двумерный массив числами кратные значению x. число x и первое значение массива вводятся с клавиатуры.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru