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

Вывести элементы в следующем порядке: первый столбец сверху вниз, второй столбец снизу вверх и т.д

12.05.2015, 18:27. Показов 2254. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вывести элементы в следующем порядке: первый столбец сверху вниз, второй столбец снизу вверх, третий столбец сверху вниз, четвертый столбец снизу вверх и т. д.

Вот код, только у меня все выводит в один столбец, знаю что можно сделать через Console.SetCursorPosition, но не понимаю как именно
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void FillMatrix(int[,] SomeMatrix)
        {
            for (int i = 0; i < SomeMatrix.GetLength(0); i++)
            {
                for (int j = 0; j < SomeMatrix.GetLength(1); j++)
                {
                    Console.Write("Введите элемент массива № {0} X {1}: ", i + 1, j + 1);
                    SomeMatrix[i, j] = int.Parse(Console.ReadLine());
                }
            }
        }
        static void PrintMatrix(int[,] someMatrix)
        {
 
            for (int i = 0; i < someMatrix.GetLength(0); i++)
            {
                for (int j = 0; j < someMatrix.GetLength(1); j++)
                {
                    Console.Write("{0}\t", someMatrix[i, j]);
                }
                Console.WriteLine();
            }
        }
        static void MatrixOutput(int[,] SomeMatrix)
        {
            for (int j = 0; j < SomeMatrix.GetLength(1); j++)
            {
                if (j % 2 == 0)
                {
                    for (int i = 0; i < SomeMatrix.GetLength(0); i++)
                    {
                        Console.WriteLine(SomeMatrix[i, j]);
                    }
                }
                else
                {
                    for (int i = SomeMatrix.GetLength(0) - 1; i >= 0; i--)
                    {
                        Console.WriteLine(SomeMatrix[i, j]);
                    }
                }
                Console.WriteLine();
            }
        }
 
        static void Main(string[] args)
        {
            int M, N;
            Console.Write("Введите количество строк: ");
            M = int.Parse(Console.ReadLine());
            Console.Write("Введите количество столбцов: ");
            N = int.Parse(Console.ReadLine());
            Console.WriteLine();
            int[,] A = new int[M, N];
            if (N > 1 && M > 1 && N <= 10 && M <= 10)
            {
                FillMatrix(A);
                Console.WriteLine("Изначальная матрица:");
                PrintMatrix(A);
                Console.ReadKey();
                Console.Clear();
                Console.WriteLine("Полученная матрица: ");
                MatrixOutput(A);
            }
        }
    }
}
Добавлено через 1 час 28 минут
Уже не надо, сам разобрался, вот код если кому-нибудь понадобится вдруг:
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
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void FillMatrix(int[,] SomeMatrix)
        {
            for (int i = 0; i < SomeMatrix.GetLength(0); i++)
            {
                for (int j = 0; j < SomeMatrix.GetLength(1); j++)
                {
                    Console.Write("Введите элемент массива № {0} X {1}: ", i + 1, j + 1);
                    SomeMatrix[i, j] = int.Parse(Console.ReadLine());
                }
            }
        }
        static void PrintMatrix(int[,] someMatrix)
        {
 
            for (int i = 0; i < someMatrix.GetLength(0); i++)
            {
                for (int j = 0; j < someMatrix.GetLength(1); j++)
                {
                    Console.Write("{0}\t", someMatrix[i, j]);
                }
                Console.WriteLine();
            }
        }
        static void MatrixOutput(int[,] SomeMatrix)
        {
 
            int n = 0;
            for (int j = 0; j < SomeMatrix.GetLength(1); j++)
            {
                int c = 1;
                if (j % 2 == 0)
                {
 
                    for (int i = 0; i < SomeMatrix.GetLength(0); i++)
                    {
                        Console.SetCursorPosition(n, c);
                        Console.WriteLine(SomeMatrix[i, j]);
                        c++;
                    }
                }
                else
                {
                    for (int i = SomeMatrix.GetLength(0) - 1; i >= 0; i--)
                    {
 
                        Console.SetCursorPosition(n, c);
                        Console.WriteLine(SomeMatrix[i, j]);
                        c++;
                    }
                }
                n += 2;
                Console.WriteLine();
            }
        }
        static void Main(string[] args)
        {
            int M, N;
            Console.Write("Введите количество строк: ");
            M = int.Parse(Console.ReadLine());
            Console.Write("Введите количество столбцов: ");
            N = int.Parse(Console.ReadLine());
            Console.WriteLine();
            int[,] A = new int[M, N];
            if (N > 1 && M > 1 && N <= 10 && M <= 10)
            {
                FillMatrix(A);
                Console.WriteLine("Изначальная матрица:");
                PrintMatrix(A);
                Console.ReadKey();
                Console.Clear();
                Console.WriteLine("Полученная матрица: ");
                MatrixOutput(A);
            }
        }
    }
}
2
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.05.2015, 18:27
Ответы с готовыми решениями:

Вывести элементы матрицы в следующем порядке: первый столбец сверху вниз, второй столбец снизу вверх...
program Matrix12; var a:array of integer; M, N, i, j:Integer; begin randomize; Write('N: '); Readln(N); ...

Первый столбец матрицы записать сверху вниз, второй снизу вверх
program matrix12 real a(100,100) print *, 'Введите кол-во строк' read *, m print *, 'Введите кол-во столбцов' read *, n ...

Заполнение матрицы змейкой: первый столбец - снизу вверх, второй - сверху вниз
задать матрицу типа: 8 9 24 7 10 23 6 11 22 5 12 21 4 13 20 3 14 19 2 15 18

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.05.2015, 18:27
Помогаю со студенческими работами здесь

Заполнение матрицы змейкой: первый столбец - вверх, второй - вниз
Заполнить массив A(n*m) числами от 1 до n*m змейкой по схеме (Городская олимпиада 2002)

Заполнение матрицы змейкой: первый столбец - вниз, второй - вверх
4. Заполнить таблицу размером 4 x 4 «змейкой» . В таблице отсутствуют фиксированные строка и столбец. Заполнение таблицы выполнить по...

Вывести первый столбец матрицы сверху вниз
Дана матрица размера M×N. Вывести ее элементы в следующем порядке: первый столбец сверху вниз, второй столбец снизу вверх, третий столбец...

Вывести сообщения в чате не снизу вверх, а сверху вниз
Делаю чат ,так вот мне нужно вивести 20 последних сообщений но мне нужно вивести не снизу вверх а сверху вниз на картинке по...

Анимация: как сделать что бы шарик двигался снизу вверх, а не сверху вниз
ublic Class Form1 Dim x, y, h, w As Integer Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
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 Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
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. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru