Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
Vexie
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 6
#1

Нужно исправить код - C#

31.10.2013, 16:36. Просмотров 347. Ответов 5
Метки нет (Все метки)

Вывести массив змейкой в 1 строку. Начиная с левого верхнего угла. Матрица квадратная. У меня выводит каждую строку по 2 раза, как это исправить? Вот код:
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
            Console.Write("Размерность матрицы: ");
            int n = int.Parse(Console.ReadLine());
            int[,] arr= new int[n,n];
            Random rnd=new Random();
            for (int i = 0; i < arr.GetLength(0); i++)
            {
                for (int j = 0; j < arr.GetLength(1); j++)
                {
                    arr[i, j] = rnd.Next(-9, 9);
                }
            }
            Console.WriteLine("Матрица имеет вид:");
            Console.WriteLine();
            for (int i = 0; i < arr.GetLength(0); i++)
            {
                for (int j = 0; j < arr.GetLength(1); j++)
                {
                    Console.Write("{0,2} ", arr[i, j]);
                }
                Console.WriteLine();
                Console.WriteLine();
            }
            Console.WriteLine("Разложим в виде строки:");
            for (int i = 0; i < arr.GetLength(0); i++)
            {
 
                for (int j = 0; j < arr.GetLength(1); j++)
                {
                    Console.Write("{0} ", arr[i, j]);
                }
                for (int k = arr.GetLength(1) - 1; k >= 0; k--)
                {
                    Console.Write("{0} ", arr[i, k]);
                }
                
            }
            Console.ReadLine();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2013, 16:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно исправить код (C#):

Нужно исправить код - C#
У меня есть задача: Дано два слова А и В. Проверить, можно ли с букв, что входят к слову А, сложить слово В. При этом порядок не имеет...

нужно исправить ошибку - C#
доброго времени суток, вот код программы, пожалуйста исправьте что не так, уже весь мозг сломал using System; namespace...

Исправить код - C#
Не могу сделать для вещественных чисел(в коде для целочисленных). И бывает вылеты когда вводишь числа(а иногда и все нормально) using...

Исправить код - C#
class Tel { protected string marka; protected int funk; string _marka { get { return marka; } set { marka = value;...

Исправить код - C#
После ввода слов, если в конце ставлю пробел, вылетает ошибка. И при вводе буквы есть тоже проблемы. using System; using...

.NET 4.x Нужно исправить баг(циклы) - C#
Проблема в том что если расписание пустое, при запросе рассписания на след день, программа виснет, проблема с завершением цикла как я...

5
da1z
189 / 189 / 17
Регистрация: 03.12.2009
Сообщений: 853
31.10.2013, 16:46 #2
Если я правильно понял, то вот это вам не надо
C#
1
2
3
4
                for (int k = arr.GetLength(1) - 1; k >= 0; k--)
                {
                    Console.Write("{0} ", arr[i, k]);
                }
0
valera_21
353 / 339 / 61
Регистрация: 05.01.2010
Сообщений: 1,399
Завершенные тесты: 4
31.10.2013, 16:47 #3
решение скажем так "в лоб"
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        int[,] arr = new int[10,10];
        for (var i = 0; i < 10; i++ )
        {
            if (i%2 == 0)
            {
                for (var j = 0; j < 10; j++)
                {
                    Console.Write(arr[i,j] + " ");
                }
            } else
            {
                for (var j = 9; j >= 0; j--)
                {
                    Console.Write(arr[i, j] + " ");
                }
            }
        }
1
da1z
189 / 189 / 17
Регистрация: 03.12.2009
Сообщений: 853
31.10.2013, 16:54 #4
можно наверно ещё так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
for (int i = 0; i < arr.GetLength(0); i+2)
            {
 
                for (int j = 0; j < arr.GetLength(1); j++)
                {
                    Console.Write("{0} ", arr[i, j]);
                }
                for (int k = arr.GetLength(1) - 1; k >= 0; k--)
                {
                    Console.Write("{0} ", arr[i+1, k]);
                }
                
            }
Добавлено через 2 минуты
хотя предыдущий вариант лучше
0
kolorotur
Эксперт .NET
9110 / 7616 / 1211
Регистрация: 17.09.2011
Сообщений: 13,151
31.10.2013, 16:55 #5
Заумно, но как вариант сойдет:
C#
1
2
3
for (int i = 0, k = 1; i < m.GetLength(0); i++, k = -k)
    for (int j = (m.GetLength(1) - 1) * (i % 2); j < m.GetLength(1) && j >= 0; j += k)
        Console.Write("{0} ", m[i, j]);
Цитата Сообщение от da1z Посмотреть сообщение
C#
1
Console.Write("{0} ", arr[i+1, k]);
Рухнет при обходе матрицы с нечетным количеством строк.
0
Vexie
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 6
31.10.2013, 17:28  [ТС] #6
Спасибо!)
0
31.10.2013, 17:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2013, 17:28
Привет! Вот еще темы с ответами:

Что тут нужно исправить? - C#
Доброго времени суток. Столкнулся с проблемой такого характера: при отладке и компиляции приложения Ошибок нет, но когда запускаю уже...

.NET 4.x Сортировка, исправить код - C#
Найдите неисправность пожалуйста.Заранее спасибо using System; namespace ConsoleApplication4 { class Program {

Исправить код с циклом for - C#
Сразу скажу, что в программировании новичек, поэтому если что-то не то ляпну - грязью прошу не поливать). В общем, у меня есть массив...

Исправить код программы - C#
помогите пожалуйста исправить код class Program { static void Main(string args) { Double...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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