2 / 2 / 1
Регистрация: 04.12.2012
Сообщений: 202
1

Ошибка в коде

10.11.2014, 12:30. Показов 505. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создаю матрицу из кодового слова, применяю метод перебора (Main2()) столбцов этой матрицы, но Main2() почему то ничего не возвращает.
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;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace laba4
{
    class vertical
    {
        static char[,] matrix = new char[5, 5];
        public static void Main()
        {
            Console.WriteLine("Исходник: СНСКЫЕЕОАНОЕЕУАБЧДПНПИТДМ");
            string input = "СНСКЫЕЕОАНОЕЕУАБЧДПНПИТДМ";
            input = input.ToLower();
            Console.WriteLine("Матрица:");
            for (int i = 0; i < input.Length; i++)
            {
                matrix[i / 5, i % 5] = input[i];
            }
 
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    Console.Write("{0} ", matrix[j, i]);
                }
                Console.WriteLine();
            }
            Console.ReadLine();
        }
 
        int Main2()
        {
            foreach (var transaction in GetTransactions(5))
            {
                Console.WriteLine("Begin New Transaction");
                for (int i = 0; i < 5; i++)
                {
                    StringBuilder sb = new StringBuilder();
                    for (int j = 0; j < 5; j++)
                    {
                        sb.Append(matrix[j, transaction[i]]);
                    }
                    Console.WriteLine(sb.ToString());
                }
            }
            return 0;
        }
 
        IEnumerable<int[]> GetTransactions(int n)
        {
            int[] data = new int[n];
            for (int i = 0; i < n; i++) data[i] = -1;
            Console.WriteLine(GetTransactions(data, 0));
            return GetTransactions(data, 0);
        }
 
        IEnumerable<int[]> GetTransactions(int[] data, int order)
        {
            if (order == data.Length)
            {
                yield return data;
            }
 
            for (int i = 0; i < data.Length; i++)
            {
                if (data[i] >= 0) continue;
 
                int[] newData = new int[data.Length];
                Array.Copy(data, newData, data.Length);
                newData[i] = order;
 
                foreach (var transaction in GetTransactions(newData, order + 1))
                {
                    Console.WriteLine(GetTransactions(newData, order + 1));
                    yield return transaction;
                }
            }
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2014, 12:30
Ответы с готовыми решениями:

Ошибка в коде взаимодействия клиента и сервера на основе протокола TCP/IP (ошибка в коде)
Задание: Осуществить взаимодействие клиента и сервера на основе протокола TCP/IP. Реализовать...

Ошибка с графикой в приложении Windows form (ошибка не в коде!)
Всем доброго времени суток! Написал программу в windows form. Несколько раз скомпилировал и все...

Ошибки в коде Qt - ошибка: undefined reference to `qMain(int, char**)'; ошибка: error: ld returned 1 exit status
Здравствуйте, есть проект в нем 2 ошибки, не очень понимаю как их можно решить. Помогите, буду...

Ошибка в коде CS0649. Не понятно почему выдает данную ошибку.Также ошибка в форме со словом ref
Код Класса using System; using System.Collections.Generic; using System.Linq; using...

4
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
10.11.2014, 12:59 2
Вы уверены , что это весь код? У вас в данном коде функция Main2 нигде не вызвается!
0
2 / 2 / 1
Регистрация: 04.12.2012
Сообщений: 202
10.11.2014, 13:16  [ТС] 3
titans2011, мне тут посоветовали этот метод, я просто попытался его использовать с моим кодом, а как его вызвать? Что не хватает? Матрица задана, перебор задан, осталось результат вывести как мне кажется
0
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
10.11.2014, 16:15 4
Не в даваясь в дебри, вам написали, что Main чисто для красоты.
И тот метод, что они написали- предназначен для одномерного массива, а не двумерного. Плюс. В методах GetTransactions генерируется массив. А вам нужно подставить свой. Вот и все.
0
2 / 2 / 1
Регистрация: 04.12.2012
Сообщений: 202
10.11.2014, 17:09  [ТС] 5
titans2011, то есть данный метод неприменим к моей задаче?

Добавлено через 7 минут
titans2011, он то имел ввиду наверно перебор индексов столбцов типа 01234, а потом я как то по данному должен правилу прикрутить это к столбцам
0
10.11.2014, 17:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2014, 17:09
Помогаю со студенческими работами здесь

Ошибка в коде (Ошибка сегментирования (core dumped)
Добрый день. Подскажите пожалуйста, где ошибка в коде? char ch; string s; ...

Ошибка в коде и ошибка HTTP 400
Здарова всем, у меня тут проблема случилась, я только начинаю программировать. Выдает ошибку HTTP...

Ошибка в коде , ошибка 200
Всем привет, помогите пожалуйста, я новичек в Паскале, вот программа, суть её переводить любое...

В чём ошибка.В коде там где коментарий там ошибка поучается.
#include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; class CMyString{ char *pStr;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru