Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Атин

Новички
  • Постов

    23
  • Зарегистрирован

  • Посещение

Информация о Атин

Достижения Атин

0

Репутация

  1. Добрый день! Помогите, пожалуйста, дописать программу на Delphi. 1) Ввести p и q в Edit 2) Проверить, являются ли они простыми и взаимнопростыми 3) Если да, вывести на экран FF(n)=(p-1)(q-1), если нет, вывести сообщение "числа не являются простыми и взаимнопростыми" 4) Ввести d<FF(n) в Edit 5) Проверить, действительно ли оно меньше, если нет вывести сообщение "введите другое число" 6) Если да, сгенерировать Открытый ключ KR=(d,n) 7) Сгенерировать Закрытый ключ KU=(e,n) 8) Вывести оба ключа в Memo "Открытый ключ KR=(d,n) Закрытый ключ KU=(e,n)" Ест 2 файла - pascal и delphi. По сути, надо как-то вставить выделенный кусок из паскалевского документа в делфи. Заранее благодарю. Нужно к понедельнику. RSA.rar RSA.rar
  2. спасибо) я поняла почему неправильно считало, у меня он заполнял весь массив до n, и пробегал его также до n, несмотря на то, что сама матрица меньшего размера. Сделала, чтобы считывал Editы и дальше пробегал массивы по ним, все работает)
  3. к сожалению не так 1) массив не должен быть статичным, нам задали обязательное условие, чтобы матрица была любого размера и задавалась пользователем 2) седловая точка - это когда нижняя и верхняя цены игры равны, "отыскание происходит след. образом: в матрице А послед-но в каждой строке находится минимальный элемент и проверяется, является ли этот элемент максимальным в своем столбце. Если да, то он и есть седловой элемент." Надо выписать числами или координатами, иначе - вывести сообщение "Седловых точек нет" 3) нижняя цена игры - в каждом столбце ищется минимальный элемент, из них находится максимальный верхняя цена игры - в каждой строке ищется максимальный элемент, из них находится минимальный Обе надо выписать числом и координатами. Соответственно, если седловая точка одна, то они будут равны. Если седловых точек нет, то цены игры все равно должны быть. Самое обидное, что алгоритм вроде как реализован правильно, но почему-то считает не так как надо Пример: 2 1 10 11 0 -1 1 2 -3 -5 -1 1 Седловой точкой будет: 1 (1-я строка, 2-й столбец)
  4. ага, k, это просто вначале там m было, не до конца исправила (если что, я девушка, просто с акк парня сижу)
  5. К вышенаписанному Лаба 1 - копия.rar Лаба 1 - копия.rar
  6. Помогите, пожалуйста, доделать задачу и понять в чем проблема. Дана матрица размера m х n, нужно найти седловые точки матрицы, вывести их значения и индексы + найти верхнюю и нижнюю цену игры. Вроде работает, но неправильно, выдает числа, которых в матрице нет. Матрица А имеет седловую точку Аij, если Аij является минимальным элементом в i – той строке и максимальным в j – том столбце. Нижняя цена игры = maxi minj aij Верхняя цена игры = minj maxi aij unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, Menus, ComCtrls, Buttons;type TForm1 = class(TForm) strngrd1: TStringGrid; btn1: TButton; Button1: TButton; Memo2: TMemo; Memo1: TMemo; Edit1: TEdit; Edit2: TEdit; UpDown1: TUpDown; UpDown2: TUpDown; Button2: TButton; Label1: TLabel; Label2: TLabel; procedure btn1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure N1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;const n=30;implementation{$R *.dfm}procedure TForm1.btn1Click(Sender: TObject);var a: array[0..n-1,0..n-1] of integer; l_1: array[0..n-1] of integer; {переменная массива минимальных элементов в i-ой строке} l_2: array[0..n-1] of integer; {переменная массива максимальных элементов в j-ом столбце} ii,jj,i,j,l_i,l_j: integer; min,max,m,k,l1,l2: integer;begin Memo1.Clear; Memo2.Clear; for i:=0 to n-1 do for j:=0 to n-1 do a[i,j]:=StrToInt(strngrd1.Cells[i,j]); for i:=0 to n-1 do begin m:=a[i,0]; for j:=1 to n-1 do if a[i,j]<m then m:=a[i,j]; l_1[i]:=m; end; l1:=l_1[0]; l_i:=0; for i:=1 to n-1 do if l_1[i]>l1 then begin l1:=l_1[i]; l_i:=i; end; Memo1.Lines.Add('l1 = '+floattostr(l1)); for j:=0 to n-1 do begin k:=a[0,j]; for i:=1 to n-1 do if a[i,j]>m then k:=a[i,j]; l_2[j]:=k; end; l2:=l_2[0]; l_j:=0; for i:=1 to n-1 do if l_2[i]<l2 then begin l2:=l_2[i]; l_j:=j; end; Memo1.Lines.Add('l2 = '+floattostr(l2)); Memo2.Lines.add('Ответ:'); if l1=l2 then memo2.Lines.add('Седловые точки найдены:') else memo2.Lines.add('Седловой точки нет'); for i:=0 to n-1 do for j:=0 to n-1 do begin min:=a[i,0]; for jj:=1 to n-1 do if a[i,jj]<min then min:=a[i,jj]; max:=a[0,j]; for ii:=1 to n-1 do if a[ii,j]>max then max:=a[ii,j]; if (min=a[i,j]) and (max=a[i,j]) then memo2.lines.Add(floattostr(l1)+' = ['+floattostr(i+1)+','+floattostr(j+1)+']'); end;end;procedure TForm1.Button1Click(Sender: TObject);var z,zz:Integer;beginRandomize;For z:=0 to 100 do for zz:=0 to 100 dostrngrd1.Cells[z,zz]:=FloatToStr(Random(10)-4);end;procedure TForm1.FormCreate(Sender: TObject);begin Memo1.Text:=''; Memo2.Text:='';end;procedure TForm1.N1Click(Sender: TObject);begin Form1.Close;end;procedure TForm1.Button2Click(Sender: TObject);var g: Integer;begin Memo1.Clear; Memo2.Clear; strngrd1.ColCount:=StrToInt(Edit2.Text); strngrd1.RowCount:=StrToInt(Edit1.Text); For g:=0 to strngrd1.ColCount-1 do strngrd1.Cols[g].Clear;end;end.
  7. Всем привет, помогите пожалуйста реализовать задачку на паскале abc: " Краевые задачи для ОДУ 2-го порядка, метод сведения к задаче Коши - Галёркин "
  8. Помогите пожалуйста, написать программу на паскале abc. Дана действительная квадратная матрица порядка 10. в строках с отрицательным элементом на главной диагонали найти - наибольший из всех элементов.
  9. Помогите пожалуйста, написать программу на паскале abc. Даны натуральное число n, символы s1,..., sn. Известно, что среди данных символов есть хотя бы один, отличный от пробела. Требуется преобразовать последовательность s1,..., sn следующим образом. Удалить группы пробелов, которыми начинается и которыми заканчивается последовательность, а так же заменить каждую внутреннюю группу пробелов одним пробелом. Если указанных групп нет в данной последовательности, то оставить последовательность без изменения.
  10. Премного благодарен, все прекрасно работает :smartass:
  11. Хм.. немного не так работает задача, она просто выводит матрицу, состоящую из максимального элемента первой матрицы
  12. Привет всем, и снова неприятная задачка... Помогите пожалуйста (паскаль abc) Дана действительная матрица размера n x m, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на её наибольший по модулю элемент.
  13. Не перестаешь радовать, спасибо :angel_hypocrite:
×
×
  • Создать...