Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Deimos_
32 / 32 / 31
Регистрация: 24.11.2014
Сообщений: 235
#1

Определение нормальной формы массива - C#

24.11.2016, 12:56. Просмотров 154. Ответов 4
Метки нет (Все метки)

Всем доброго времени суток.
Возник вопрос может не критичный но есть..
У меня имеется массив char[] Open_Text определенной длинны.
Как узнать какой наиболее подходящий(более менее квадратный) двойной массив можно для него сделать
Например Opent_Text имеет длину массива = 32
значить наиболее подходящий массив будет состоять из 6 СТРОЧЕК =>
Значить количество столбцов тоже должно быть 6 тогда 6*6 = 36 а значить пустые ячейки их 4шт заполняем мусором.

Или вот еще пример Open_Text имеет длину массива = 21
значить наиболее подходяший массив(квадратный) будет состоять из 5 строчек и 5 столбцов
5*5 = 25 => 25 - 21 = 4 пустые ячейки опять заполняем мусором.

Как бы, что дальше сделать с условием я не въезжаю что бы работала для любого количество строк
C#
1
2
3
4
5
6
7
8
9
static void What_size_matrix(char[] myArray, int row, int col) {
 
            for(int i = 1; i < myArray.Length; i++)
            {
                if (myArray.Length / i )
                    row = myArray.Length / 2;
 
            }
        }
Нужно все это для реализации "шифра Хилла"
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2016, 12:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определение нормальной формы массива (C#):

Определение текущего элемента формы
У меня вопрос: есть два ListView. Как определить програмно (если можете...

Ошибка в определение массива в структуре
public class Mas_str { public int kolvo_factov; // количество...

Определение размерностей многомерного массива
Доброго времяпровождения.хотел спросить, как подсчитать количество цепей в...

Определение позиции заданного элемента массива
Ребят помогите пожалуйста написать программу по этому заданию: &quot;Определение...

Определение длины массива при использовании LINQ
Здравствуйте, форумчане, проблема с определением длины массива после...

Определение количества элементов массива из кода не перечислением
Использую такой код для вычесления значений и определения max из них...

4
Даценд
Модератор
Эксперт .NET
4045 / 3885 / 2573
Регистрация: 20.04.2015
Сообщений: 7,060
24.11.2016, 13:29 #2
Deimos_,
попробуйте так:
C#
1
2
3
4
5
6
7
8
9
char[] Open_Text = "sdfvsdfvsdfvsdfvdfgbdfgbdwrf".ToCharArray();
int l = Open_Text.Length;
int n = (int)Math.Sqrt(Open_Text.Length);
int m = l > n * n ? n + 1 : n;
char[,] charRect = new char[m, n];
for (int i = 0; i < m; i++)
    for (int j = 0; j < n; j++)
        if (i * n + j < Open_Text.Length)
            charRect[i, j] = Open_Text[i * n + j];
1
TopLayer
725 / 548 / 290
Регистрация: 23.10.2016
Сообщений: 1,286
Завершенные тесты: 7
24.11.2016, 13:42 #3
Лучший ответ Сообщение было отмечено Deimos_ как решение

Решение

C#
1
int size = (int)Math.Sqrt(length - 1) + 1;
Добавлено через 3 минуты
int rows = size;
int columns = size * (size - 1) >= length ? size - 1 : size;
1
Deimos_
32 / 32 / 31
Регистрация: 24.11.2014
Сообщений: 235
24.11.2016, 14:20  [ТС] #4
все работает я только исправил строчку условия что бы последнюю строку тоже выводил
int m = l > n * n ? n + 2 : n + 1;
Спасибо за помошь а то после шифра лозунга уже не варит голова.
0
Даценд
Модератор
Эксперт .NET
4045 / 3885 / 2573
Регистрация: 20.04.2015
Сообщений: 7,060
24.11.2016, 15:01 #5
Цитата Сообщение от Deimos_ Посмотреть сообщение
что бы последнюю строку тоже выводил
Лучше так:
C#
1
2
3
4
5
int l = Open_Text.Length;
int n = (int)Math.Sqrt(Open_Text.Length);
int m = n;
n = l > n * n ? n + 1 : n;
m = l > m * n ? m + 1 : m;
Тогда лишняя строка добавляться не будет.
1
24.11.2016, 15:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2016, 15:01
Привет! Вот еще темы с решениями:

Определение среднего арифметического ненулевых элементов одномерного массива
Программа которая определяет среднее арифметическое ненулевых элементов...

Логическое умножение массивов. Определение количества ненулевых элементов двумерного массива
Подскажите пожалуйста, как сделать две вещи : 1. Имеются два двумерных массива...

Поздняя инициализация массива из другой формы
Доброго времени суток. Пишу программу на C# с использованием Windows Forms. На...

Определение нормальной формы БД
не могу определить к какой нормальной форме относится БД, подскажите...


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

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

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