HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 17.03.2010, 17:22
Soherox
Познающий
Регистрация: 17.02.2010
Сообщений: 45
С нами: 8542140

Репутация: 47
По умолчанию

superboy4..покопался в твоем коде, честно, не особо понял что там написано написал с нуля, вот код, прокоментил все, чтобы было понятно, если что-то все равно не понятно, спрашивай

Код:
unit Enciphering;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    StringGrid1: TStringGrid;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  n = 1000; // длина строки
  dif  = 224; // разница между символами в ASCII
var
  Form1: TForm1;
  key, tex: string;
  tqu, kqu: integer;
  rez: string;
  tx: set of 'а'..'я';
  tnum, knum, code: array [1..n] of integer;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
  var
    i: integer;
begin
  tex:=Edit1.Text; // Для текста
  key:=Edit2.Text; // Для ключа
  rez:=''; // Наш ответ
  tqu:=length(tex); // Длина текста
  kqu:=length(key); // Длина ключа
  for i:=1 to length(tex) do tnum[i]:=-1; // Исключение инородных сиволов
  for i:=1 to length(tex) do knum[i]:=0; // Обнуление
  code:=knum;
  for i:=1 to tqu do
    if tex[i] in tx then tnum[i]:=ord(tex[i]) - dif; // Нахождение порядкового номера в алфавите (отсчет от 0 до 30)
  for i:=1 to kqu do
    knum[i]:=ord(key[i]) - dif;
  for i:=kqu + 1 to tqu  do
    knum[i]:=knum[i - kqu]; // Дополнение ключа в случае если его длина меньше длины строки
  for i:=1 to tqu do
    if tnum[i]<> -1 then code[i]:=(tnum[i] + knum[i]) mod 32  
    else code[i]:=ord(' ')-dif; // Само шифрование
  for i:=1 to tqu do
    rez:= rez + chr(code[i] + dif); // Получение ответа
  stringgrid1.ColCount:=tqu+1; 
  for i:=1 to tqu do
    StringGrid1.Cells[i, 0]:=tex[i]; 
  for i:=1 to tqu do
    StringGrid1.Cells[i, 1]:=rez[i]; // Вывод ответа
end;

end.
 
Ответить с цитированием

  #2  
Старый 18.03.2010, 08:34
DimkO
Новичок
Регистрация: 16.11.2008
Сообщений: 27
С нами: 9201836

Репутация: 6
По умолчанию

начал осваивать Visual Basic и появился такой вопрос. Почему после изменения размеров кнопки при загрузке формы при каждом выполнении программы форма меняет свои координаты расположения на экране?выстраивая их как будто каскадом.
код состоит всего из 3-х строк:
Код:
Private Sub Form_Load()
Randomize
Command1.Height = 2625 * Rnd
Command1.Width = 3360 * Rnd
End Sub
 
Ответить с цитированием

  #3  
Старый 18.03.2010, 09:48
s0l_ir0n
Участник форума
Регистрация: 14.03.2009
Сообщений: 237
С нами: 9031410

Репутация: 314
По умолчанию

Цитата:
Сообщение от DimkO  
начал осваивать Visual Basic и появился такой вопрос. Почему после изменения размеров кнопки при загрузке формы при каждом выполнении программы форма меняет свои координаты расположения на экране?выстраивая их как будто каскадом.
код состоит всего из 3-х строк:
Код:
Private Sub Form_Load()
Randomize
Command1.Height = 2625 * Rnd
Command1.Width = 3360 * Rnd
End Sub
Цитата:
Функция Rnd возвращает значение, которое меньше 1, но больше или равно нулю.

Cпособ генерации случайного числа в функции Rnd определяется значением параметра Number.
Вот тебе и каскад...
 
Ответить с цитированием

  #4  
Старый 18.03.2010, 11:02
EndLeSSDre@M
Участник форума
Регистрация: 18.07.2009
Сообщений: 278
С нами: 8850305

Репутация: 259
По умолчанию

так потому что у тебя форма строится методом рандома!!! Rnd - функция генерации случайных чисел!
 
Ответить с цитированием

  #5  
Старый 18.03.2010, 15:28
DimkO
Новичок
Регистрация: 16.11.2008
Сообщений: 27
С нами: 9201836

Репутация: 6
По умолчанию

Цитата:
Сообщение от EndLeSSDre@M  
так потому что у тебя форма строится методом рандома!!! Rnd - функция генерации случайных чисел!
но я же использую рандом для задания координат кнопки а не формы,почему оно на форму влияет не пойму...=\
 
Ответить с цитированием

Задачка на тему программирования.
  #6  
Старый 18.03.2010, 14:42
R1k94
Новичок
Регистрация: 18.12.2009
Сообщений: 5
С нами: 8630327

Репутация: 0
По умолчанию Задачка на тему программирования.

Помогите пожалуйста решить задачку. Pascal
 
Ответить с цитированием

  #7  
Старый 18.03.2010, 14:58
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
С нами: 11099536

Репутация: 518
По умолчанию

при данных условиях задача не имеет единственного решения! Маленькие кружки с радиусом R3 могут свободно перемещаться обеспечивая касание как с большой R1 так и с малой R2 окружностями при R1=R2+R3 .... при этом площадь будет меняться!

при R1<R2+R3 можно решить но нужны координаты центров R3

при R1>R2+R3 НЕТ РЕШЕНИЙ

Уточни задачу!

Последний раз редактировалось Delimiter; 18.03.2010 в 15:02..
 
Ответить с цитированием

  #8  
Старый 18.03.2010, 15:08
R1k94
Новичок
Регистрация: 18.12.2009
Сообщений: 5
С нами: 8630327

Репутация: 0
По умолчанию

Цитата:
Сообщение от Delimiter  
Уточни задачу!
задача такая как и есть, это весь ее текст
 
Ответить с цитированием

  #9  
Старый 18.03.2010, 14:59
St0nX
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
С нами: 9989619

Репутация: 106
По умолчанию

pi := 3.14;
S := pi(( (sqr(r1)+sqr(r2))/2) - sqr(r3));
Это если предположить что окружности находяться на одной линии.

Последний раз редактировалось St0nX; 18.03.2010 в 15:11..
 
Ответить с цитированием

  #10  
Старый 18.03.2010, 15:28
Irdis
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
С нами: 10661593

Репутация: 88
По умолчанию

Delimiter погорячился
т.к. 2*r3+r2=r1

Последний раз редактировалось Irdis; 18.03.2010 в 15:31..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...