Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Delphi сохранение файла https://www.cyberforum.ru/ delphi-beginners/ thread714771.html
Есть проект записной книги, где записывается сколько квадратов плитки человек положил за эту неделю, там записывается дата и количество квадратов. Мне нужно сделать так, чтобы данные можно было сохранять в один и тот же файл, а он просто обновлялся новыми данными, а сейчас там каждый раз нужно создавать новый. И еще, как сделать, чтобы количество квадратов запоминалось в какой-то переменной или...
Как убрать путь и чтоб файл читался? Delphi
Здравствуйте ув. Программисты. есть вот такая вот процедура Procedure FindFileInFolder(path, ext: string); Var SR : TSearchRec; Res : Integer; begin Res := FindFirst(path+ext, faAnyFile, SR); while Res = 0 do begin Form1.Combobox1.Items.Add(path+Sr.Name); Res := FindNext(SR); end;
Delphi Закрыть сообщение Приветствую. В программе я вывожу сообщения через функцию, в которой используется application.MessageBox Вопрос, могу ли я программно закрыть окно сообщения, которое я вызвал ранее? https://www.cyberforum.ru/ delphi-beginners/ thread714728.html Delphi Автоматическая смена обоев Нужно штоби при запуске програми обои стола менялись на картинку указаную в програме( 1 картичка)!!! Нужно срочно пліз !!! https://www.cyberforum.ru/ delphi-beginners/ thread714714.html
Автоматическое закрытие формы Delphi
У нас на областной олимпиаде по программированию результаты работы проверяются с помощью специальной тестовой программы. Рабочий ехе-файл должен считывать входные данные из текстового файла и выводить результат в другой текстовый файл. Тестовая программа проводит проверку по нескольким входным тестовым файлам. То есть запускается ехешник и по очереди считывается и выводится информация. И после...
Delphi Решение полинома 2го порядка 3мя методами Добрый вечер! Нужно написать программу, решающую полином второго порядка типа y = ax² + bx + c, один и тот же полином. Методом касательных, методом деления отрезка пополам и методом хорд(литература по методам есть). Программа должна выдать ответы, полученные тремя способами и назвать способ, который дал наиболее быстрое решение( за меньшее число шагов). Опыта программирования, пока что, крайне... https://www.cyberforum.ru/ delphi-beginners/ thread714698.html
Delphi событие в popupmenu В созданном пункте popupmenu нужно onClick Сделал так,но работает только на первом пункте m:=TmenuItem.Create(PopupMenu1); m.Caption:=StringList.strings; m.OnClick:= MenuClick; PopupMenu1.Items.add(m); Добавлено через 7 минут Спсибо!Разобрался https://www.cyberforum.ru/ delphi-beginners/ thread714668.html Где тут ошибка? Delphi
procedure TForm3.Button2Click(Sender: TObject); var i:integer; b:integer; begin if RadioButton1.Checked then randomize; b:=random(6); if b=1 then Label3.Caption:='Победа!';
Delphi FormMouseDown Как сделать так, что бы при нажатии на Button запускалась процедура FormMouseDown, в ней я извращаюсь над координатами клика мыши, создаю новые объекты на форме, а потом при повторном нажатии этого же Button процедура останавливалась? помогите добрые люди) https://www.cyberforum.ru/ delphi-beginners/ thread714622.html Delphi Горизонтальная прокрутка мышью в StringGrid Скажите пожалуйста, как реализовать горизонтальную прокрутку в stringgred-e . Т.е нажал мышкой в любой точке грида, и двигаешь в сторону, при этом идет прокрутка. Попробовал реализовать через свойство StringGrid1.LeftCol, но что-то не особо получилось. Спасибо https://www.cyberforum.ru/ delphi-beginners/ thread714608.html
Delphi Использование стандартных объектов
Помогите пожалуйста, не могу описать СheckBox , при отметки флажка приложение сразу вылетает((Еще плаваю в Делфи совсем(( Задача: Создать меню с командами Input, Work, Exit. При выборе команды Exit приложение завершает работу. При выборе команды Input открывается диалоговое окно, содержащее: • три поля ввода типа TextBox с метками Radius, Height, Density; • группу из двух флажков (Volume,...
Delphi Не работает цикл в потоке https://www.cyberforum.ru/ delphi-beginners/ thread714491.html
Вот писал программу,в ней цикл,достаточно длинный поэтому форма зависала,если просто процедуру в основной поток заносить,пришлось прибегнуть к помощи потоков,но вот в чем незадача,создал поток,прописал в ней процедуру,запускаю и ничего не происходит,ну как не происходит,первое условие выполняется,и последнее,а сам цикл нет,вот эта процедура,подскажите что не так procedure TPotok.Execute;...
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
11.12.2012, 20:38 0

Шифрование перестановкой букв - Delphi - Ответ 3840601

11.12.2012, 20:38. Показов 6332. Ответов 14
Метки (Все метки)

Ответ

Шифрование.
по столбцам все ясно, по спирали не очень цикл repeat for for for inc(r)
как он работает, не могу понять. сначала первый for потом inc(r) потом опять
первый?..
Там идёт заполнение четырёх сторон прямоугольника, и, соответственно 4 цикла. Переменная r - расстояние до заполняемых сторон прямоугольника от соответствующего края матрицы. Заполнили все стороны прямоугольника r увеличили на 1 - заполняем следующий, на 1 дальше от края сторон матрицы.
Заполнение начинается с левого верхнего угла матрицы. Первый цикл заполняет левый столбец вниз. Второй цикл заполняет нижнюю сторону вправо. Третий - правый столбец вверх. Четвёртый - верхнюю сторону влево. Это выглядит так:
r=0
144444443 r=1
100000003 1444443 r=2
100000003 1000003 12222
100000003 1222222
122222222
Соответственно рассчитываются начальный и конечный индексы циклов.

зачем в строчке until есть k=m*n. если убрать ее все работает вроде. то есть цикл прекращается
по окончанию строки и все.
В вашем случае эта проверка действительно не нужна, поскольку размерность матрицы заведомо превышает или равна длине строки. Можно убрать. А вообще, если бы строка была длиннее размерности матрицы, то это выход из цикла при полном заполнении матрицы. Это осталось с того примера, от которого я отталкивался.

Добавлено через 20 минут
Дешифрование.
зачем 2 части кода по очищению массива, и отмечанию незаполненных частей, эти циклы похожи на запись в массив а не на очищение,
так как там есть присвоение Arr[r,i]=s[k] что тогда присваивается там.
Очистка массивов при дешифровании это не такой простой вопрос. Например, если размерность матрицы m*n больше длины строки тогда при шифровании в матрице остаются пустые ячейки, которые пропускаются при формировании выходной строки. Причём, если мы исходный текст записываеи по столбцам - пустыми может оказаться часть ячеек предпоследнего столбца и весь последний столбец. Теперь при выборке по строкам эти пустые ячейки могут оказаться в разных местах выходной строки.
Теперь нам для дешифрации нужно зашифрованный текст вставить по строкам, а считать по столбцам. Чтобы всё правильно считалось - мы должны так же вставить пустые ячейки на те места, где они были при шифровании. Вот для этого при очистке массива для дешифрования определяются пустые ячейки путём заполнения матрицы, как и при шифровании (длина строки то осталась прежней). Только вместо символов строки - заносится код 1. Матрица символьная - значит преобразуем в Char(1). А на места пустых ячеек вставляется Char(0) = 0. Теперь при заполнении матрицы в порядке выборки результирующей строки при шифровании, мы проверяем. Если ячейка содержит код 0 - мы её не заполняем.
Практически то же касается и заполнения спиралью. Только вместо Char(1) я вставил s[k] - символ из строки. Можно тоже заменить на Char(1).

Добавлено через 8 минут
и дальше идет запись в массив по столбца и чтение по столбцам, а по спирали есть только чтение, почему?
Во-первых текст там записывается по строкам. Это общий момент для обоих шифрований. Ведь при шифровании как бы мы не заполняли матрицу - результирующую строку мы читаем по строкам.
При дешифровании - обратный вариант. Записываем по строкам - читаем в соответствии с методом - либо по столбцам, либо по спирали.

Вернуться к обсуждению:
Шифрование перестановкой букв Delphi
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2012, 20:38
Готовые ответы и решения:

Шифрование перестановкой
Ребята, помогите пожалуйста, никак не могу понять, что не так с программой:( постоянно пишет, что...

Совпадение букв двух слов.Перестановкой букв
Задание выглядит так: Ввести два слова.Выяснить можно ли получить второе слово с букв первого...

Шифрование перестановкой. Матрица из 4 столбцов
Подскажите, в чем ошибка? смысл заключается в том, что нужно написать программу и указать кол-во...

Шифрование с перестановкой больше 9 символов
Нужно написать программу - Шифрование с перестановкой Написал, но только максимум для слова с 9...

14
11.12.2012, 20:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2012, 20:38
Помогаю со студенческими работами здесь

Нахождение анаграмм в заданном словаре(анаграммы-слова, полученные перестановкой букв, например, корвет-вектор, сорт-рост и т. д.)
словарь хранится в текстовом файле, примерно 20000 слов; должна быть возможность добавления слов в...

Шифрование текста методом замены букв
Помогите написать код: при нажатии на кнопку в окне memo должны меняться символы, например: из...

Создать программу шифровки/дешифровки (шифрование перестановкой)
создать программу шифровки дешефровки вот задание открытый текст...

Шифрование перестановкой
Доброго времени суток. Имеется вот такая кодовая строка - 1071 32 1087 1086 1084 1085 1102 32...

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