// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
procedure MatPrint(a:array[,] of integer);
begin
var maxcol:=Length(a,1)-1;
for var i:=0 to Length(a,0)-1 do begin
for var j:=0 to maxcol do Print(a[i,j]);
Writeln
end
end;
begin
var m:=ReadInteger('Кол-во строк:');
var n:=ReadInteger('Кол-во столбцов:');
var t:=MatrixRandom(m,n,10,99); // инициализация матрицы
MatPrint(t);
var a:=new real[n]; // массив для средних по столбцам
for var j:=0 to n-1 do begin
var s:=0;
for var i:=0 to m-1 do s+=t[i,j];
a[j]:=s/m
end;
// cортированная последовательность индексов столбцов
var ai:=a.Select((x,i)->Rec(x,i)).SortedDescending
.Select(x->x.Item2).ToArray;
// cоздаем промежуточный массив
var u:array[,] of integer; SetLength(u,m,n);
for var j:=0 to n-1 do
for var i:=0 to m-1 do u[i,j]:=t[i,ai[j]];
t:=Copy(u); // вернем назад данные в исходный массив
Writeln;
MatPrint(t);
end.
<u><em>Тестовое решение</em></u>
Кол-во строк: 5
Кол-во столбцов: 8
24 30 70 85 92 32 11 25
83 92 64 51 28 47 10 22
50 14 76 84 23 63 64 39
30 22 84 59 55 32 58 63
80 36 53 74 80 82 84 33
85 70 92 24 32 11 30 25
51 64 28 83 47 10 92 22
84 76 23 50 63 64 14 39
59 84 55 30 32 58 22 63
74 53 80 80 82 84 36 33
Компьютерный вирус — вид вредоносного программного обеспечения, способного создавать копии самого себя и внедряться в код других программ, системные области памяти, загрузочные секторы, а также распространять свои копии по разнообразным каналам связи.
На компьютере может появиться вирус или так называемый "червь".
Вирус вносит свой код одну из программ, либо маскируется отдельной программой в том месте куда обычно пользователи не заходят (папки с операционной системой, скрытые системные папки).
Вирус не может запуститься сам, пока вы сами не запустите зараженную программу.
Черви заражают уже множество файлов вашем компьютере, например все exe файлы, системные файлы, загрузочные сектора и тд.
Черви чаще всего проникают в систему уже сами, используя уязвимости вашей ОС, вашего браузера, определенной программы.
Они могут проникать через чаты, программы для общения такие как skype, icq , могут распространяться через электронную почту.
Так же они могут быть на сайтах, и используя уязвимость вашего браузера проникнуть в вашу систему.
Черви могут распространяться по локальной сети, если один из компьютеров в сети окажется заражен он может распространяться на остальные компьютеры заражая все файлы на своём пути.
Черви стараются писать под самые популярные программы. Например сейчас самый популярный браузер «Chrome», поэтому мошенники будут стараться писать под него, и делать вредоносный код на сайты под него. Потому что часто интереснее заразить тысячи пользователей которые используют популярную программу чем сотню с непопулярной программой. Хотя chrome и постоянно улучшает защиту.
Лучшая защита от "червей" - это обновлять ваши программы и вашу операционную систему. Многие пренебрегают обновлениями о чем часто жалеют.
Несколько лет назад я замечал следующий червь.
Но он явно попал не через интернет а скорее всего через пиратский диск. Суть его работы была таковой — он создавал будто бы копию каждой папки в компьютере или на флешке. Но на самом деле он создавал не похожую папку а exe файл. При нажатии на такой exe файл он распространялся ещё сильнее по системе. И вот было только избавишься от него, придешь к другу с флешкой, скинуть у него музыку а возвращаешься с зараженной таким червем флешку и снова приходилось его выводить. Наносил ли этот вирус какой то ещё вред системе я не знаю, но вскоре этот вирус прекратил своё существование.
Var s:string; i:integer;begin readln(s); for i:=1 to length(s)-1 do if s[i]+s[i+1]='му' then begin delete(s,i,2); insert('ло',s,i); end; writeln(s);end.
http://mojainformatika.ru/paskal/uroki-paskal-stroki/118-standartnye-proczedury-i-funkczii-primenyae...
Var
i, a, b, n, n2, j: longint;
s: string;
flag: boolean;
begin
Write('Введите через пробел границы диапазона: ');
Readln(a, b);
if b < a then begin n := a; a := b; b := n end;
if a < 11 then a := 11;
for i := a to b do
begin
Str(i, s);
n := Length(s); n2 := n div 2; flag := true; j := 1;
repeat
flag := (s[j] = s[n - j + 1]);
j := j + 1
until (not flag) or (j > n2);
if flag then Write(i, ' ')
end;
end.
Тестовое решение:
Введите через пробел границы диапазона: 800 1500
808 818 828 838 848 858 868 878 888 898 909 919 929 939 949 959 969 979 989 999 1001 1111 1221 1331 1441
двое детей поплывут вместе. один останется, другой поплывет обратно. останется поплывет мать. обратно поплывет ребенок. дети поплывут обратно. один останется другой поплывет за отцом. ребенок останется поплывет отец. затем опять пеплывет ребенок за братом и вместе они вернутся.