Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2016, 16:52   #1
trem200
 
Регистрация: 20.04.2016
Сообщений: 3
Вопрос Как сделать так, что бы программа принимала текст любой длины.

Всем привет дорогие друзья, у меня возникла проблема. Ища код программы, которая мне может помочь, я нашёл, но возникла проблема. Я просто не знаю как сделать так, что бы программа принимала текст любой длины, а в данной момент програ принимает только текст, в котором чётное чилос букв.

Код:
 try
            {
                text = textBox1.Text.ToLower();
                text = text.Replace(" ", "");
                key = "";
                for (int i = 0; i < textBox3.Text.Length; i++)
                    if (!key.Contains(textBox3.Text[i]))
                        key += textBox3.Text[i];

                alfa = alfa.ToLower();

                string str1 = key.ToLower();
                for (int i = 0; i < alfa.Length; i++)
                {
                    if (!str1.Contains(alfa[i]))
                        str1 += alfa[i];
                }

                for (int i = 0; i < str1.Length; i += 8)
                    array.Add(str1.Substring(i, 8));
                string shifr = "";
                int count = 0;

                for (int k = 0; k < text.Length; k += 2)
                {

                    if (StrNum(text[k]) == StrNum(text[k + 1]))
                    {
                        string str2 = array[temp];

                        count = str2.IndexOf(text[k]);
                        if (count == 7)
                            shifr += str2[0];
                        else shifr += str2[count + 1];

                        count = str2.IndexOf(text[k + 1]);
                        if (count == 7)
                            shifr += str2[0];
                        else shifr += str2[count + 1];

                    }
                    else if (StbNum(text[k]) == StbNum(text[k + 1]))
                    {
                        count = 0;
                        foreach (string f in array)
                        {
                            if (f[temp] == text[k])
                            {
                                if (count == 3)
                                    shifr += array[0][temp];
                                else shifr += array[count + 1][temp];
                            }
                            if (f[temp] == text[k + 1])
                            {
                                if (count == 3)
                                    shifr += array[0][temp];
                                else shifr += array[count + 1][temp];

                            }
                            count++;
                        }
                    }
                    else
                    {
                        shifr += array[StrNum(text[k])][StbNum(text[k + 1])];
                        shifr += array[StrNum(text[k + 1])][StbNum(text[k])];

                    }
                }
                textBox2.Text = shifr;
            }

            catch (Exception exp)
            {
                MessageBox.Show(exp.Message);
            }
        }

        private int StrNum(char t)
        {
            int count = 0;
            foreach (string z in array)
            {
                if (z.IndexOf(t) != -1)
                {
                    temp = count;
                    return count;
                }
                count++;
            }
            return 1;
        }

        private int StbNum(char p)
        {
            int x;
            foreach (string z in array)
            {
                x = z.IndexOf(p);
                if (x != -1)
                {
                    temp = x;
                    return x;
                }
            }
            return 0;
trem200 вне форума Ответить с цитированием
Старый 25.04.2016, 16:56   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А что она будет делать с нечетной длиной? В алгоритме же попарное сравнение...
p51x вне форума Ответить с цитированием
Старый 25.04.2016, 17:20   #3
trem200
 
Регистрация: 20.04.2016
Сообщений: 3
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А что она будет делать с нечетной длиной? В алгоритме же попарное сравнение...
А как это можно убрать? Просто я в Си Шарп не селён, а мне надо сдать прогру.
trem200 вне форума Ответить с цитированием
Старый 25.04.2016, 18:15   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Что убрать? Это весь алгоритм. Может стоит начать с оглашения условия?..
p51x вне форума Ответить с цитированием
Старый 25.04.2016, 18:21   #5
trem200
 
Регистрация: 20.04.2016
Сообщений: 3
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Что убрать? Это весь алгоритм. Может стоит начать с оглашения условия?..
В этом, то и проблема. Я не селён в C#, и это для меня дремучий лес.
trem200 вне форума Ответить с цитированием
Старый 25.04.2016, 21:39   #6
ChiliPalmer777
 
Регистрация: 25.04.2016
Сообщений: 3
Сообщение

Чувак, ну ты отжигаешь!
У тебя спросили - какое конкретно задание ты выполняешь!
ChiliPalmer777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать так,что бы при введение,например 0;0 выдавалось сообщение,что точка находится на границе? TEIROP Visual C++ 4 08.11.2015 20:19
Как сделать, так что бы программа заканчивалась символом Sylar9 Общие вопросы C/C++ 2 22.03.2012 14:34
Мне надо сделать так что бы на главной странице картинка была по центру и под ней находился текст Чайник = ) HTML и CSS 1 21.10.2010 18:39
Как сделать чтоб ячейка принимала значение первой не пустой из столбца? Shtefan Microsoft Office Excel 4 22.05.2009 12:00
как сделать так что при изменении разрешения экрана программа работала... Victor[famas] Общие вопросы Delphi 7 13.02.2008 12:48