C# - в форме сделать анализ текста на 3 самые часто встречающиеся буквы c# - в форме построить таблицу квадратов c# - в форме сделайте окно авторизации для разных пользователей
type R = record sum: integer; nom: integer end; vR = array[1..n] of R; tm = array[1..m, 1..n] of integer;
function SumCol(a: tm; k: integer): integer; { Сумма элементов в k-м столбце (колонке) матрицы а } var i, s: integer; begin s := 0; for i := 1 to m do s := s + a[i, k]; SumCol := s end;
procedure Swp(var a, b: R); { Меняет местами элементы a и b } var t: R; begin t := a; a := b; b := t end;
procedure Shell(var a: vR); { сортировка методом Шелла по убыванию } var i, j, step: integer;
begin step := n div 2; while step > 0 do begin for j := n - step downto 1 do begin i := j; while i <= n - step do begin if a[i].sum < a[i + step].sum then Swp(a[i], a[i + step]); i := i + step end end; step := step div 2 end end;
var a, c: tm; b: vR; i, j: integer;
begin Randomize; Writeln('*** Исходные элементы массива ***'); for i := 1 to m do begin for j := 1 to n do begin a[i, j] := Random(101) - 50; Write(a[i, j]:4) end; Writeln end; { формируем вектор сумм по столбцам } for j := 1 to n do begin b[j].sum := SumCol(a, j); b[j].nom := j; end; { сортируем полученный вектор по убыванию сумм } Shell(b); { осуществляем перестановку во вс массив с} for j := 1 to n do for i := 1 to m do c[i, j] := a[i, b[j].nom]; { копируем содержимое вс массива с в массив а } Writeln('*** Результирующие элементы массива ***'); for i := 1 to m do begin for j := 1 to n do begin a[i, j] := c[i, j]; Write(a[i, j]:4) end; Writeln end end.
1. Списки - особый вид форматирования абзацев. 2. Существует три типа списков: маркированный, нумерованный номер и многоуровневый. 3. Существует несколько оформления некоторого фрагмента текста в виде маркированного или нумерованного списка Основной. Перед созданием списка курсор следует разместить в нужном месте документа и выполнить Главная --> Абзац --> Маркеры или Нумерация. В текущем месте документа появится маркер или номер того вида списка, который использовался последним. После этого можно вводить первый элемент списка. После его ввода следует нажать клавишу Enter - следующий номер или маркер появляются в следующей строке документа автоматически. Когда последний элемент списка введен, нужно повторно выбрать кнопку соответствующего списка на Ленте, или дважды нажать Enter, или удалить номер (маркер) клавишей Автоматическое создание списка. Разместив курсор в нужном месте документа, следует ввести некие специальные условные символы, которые определяют вид желаемого списка, и нажать клавишу Пробел. Сразу же условные символы превратятся в соответствующий маркер или номер, после чего можно вводить первый элемент списка Превращение текста в список. Если некоторые абзацы текста, введенного ранее, нужно оформить как список, то следует выделить эти абзацы и выбрать на Ленте кнопку соответствующего типа списка: Маркеры, Нумерация. 3. Для создания многоуровневого списка на Ленте следует выбрать кнопку Многоуровневый список и вариант оформления списка в Библиотеке списков. Дальше нужно вводить элементы списка, изменяя при необходимости их уровни вложения. 4. Колонки - прием форматирования текста, применяемое для лучшей читабельности объемного текста. 5. Для вставки в текстовый документ графического изображения из файла, который сохранен на внешнем носителе, следует выполнить Вставка - Иллюстрации - Рисунок. После этого в диалоговом окне Вставка рисунка выбрать нужный файл. Для вставки в текстовый документ графического изображения из коллекций нужно выполнить Вставка - Иллюстрации - Клип. Эти действия открывают область задач Клип, которая предоставляет возможность осуществлять поиск нужных изображений и просматривать эскизы найденных. 6. Обтекание рисунка текстом - функция, которая используется для компактного размещения материала и связывания между собой рисунка и текста. Можно задать такие виды обтекания: обтекание текстом, вокруг рамки, по контуру, сквозное, сверху и снизу.
m = 6;
n = 9;
type
R = record
sum: integer;
nom: integer
end;
vR = array[1..n] of R;
tm = array[1..m, 1..n] of integer;
function SumCol(a: tm; k: integer): integer;
{ Сумма элементов в k-м столбце (колонке) матрицы а }
var
i, s: integer;
begin
s := 0;
for i := 1 to m do
s := s + a[i, k];
SumCol := s
end;
procedure Swp(var a, b: R);
{ Меняет местами элементы a и b }
var
t: R;
begin
t := a; a := b; b := t
end;
procedure Shell(var a: vR);
{ сортировка методом Шелла по убыванию }
var
i, j, step: integer;
begin
step := n div 2;
while step > 0 do
begin
for j := n - step downto 1 do
begin
i := j;
while i <= n - step do
begin
if a[i].sum < a[i + step].sum then Swp(a[i], a[i + step]);
i := i + step
end
end;
step := step div 2
end
end;
var
a, c: tm;
b: vR;
i, j: integer;
begin
Randomize;
Writeln('*** Исходные элементы массива ***');
for i := 1 to m do
begin
for j := 1 to n do
begin a[i, j] := Random(101) - 50; Write(a[i, j]:4) end;
Writeln
end;
{ формируем вектор сумм по столбцам }
for j := 1 to n do
begin
b[j].sum := SumCol(a, j);
b[j].nom := j;
end;
{ сортируем полученный вектор по убыванию сумм }
Shell(b);
{ осуществляем перестановку во вс массив с}
for j := 1 to n do
for i := 1 to m do c[i, j] := a[i, b[j].nom];
{ копируем содержимое вс массива с в массив а }
Writeln('*** Результирующие элементы массива ***');
for i := 1 to m do
begin
for j := 1 to n do
begin
a[i, j] := c[i, j];
Write(a[i, j]:4)
end;
Writeln
end
end.
Тестовое решение:
*** Исходные элементы массива ***
-27 13 13 -15 8 27 28 -1 32
44 36 20 -39 45 -46 29 18 36
-14 -36 -5 35 36 -14 24 31 -19
-42 -34 -44 40 50 -21 -17 -30 37
-38 22 -46 9 -14 42 -10 1 30
41 -41 -21 21 39 -45 18 4 -3
*** Результирующие элементы массива ***
8 32 28 -15 -1 -27 13 27 13
45 36 29 -39 18 44 36 -46 20
36 -19 24 35 31 -14 -36 -14 -5
50 37 -17 40 -30 -42 -34 -21 -44
-14 30 -10 9 1 -38 22 42 -46
39 -3 18 21 4 41 -41 -45 -21