Одноранговые сети: В сети присутствует некоторое количество машин, при этом каждая может связаться с любой из других. Каждая из этих машин может посылать запросы другим машинам на предоставление каких-либо ресурсов в пределах этой сети и, таким образом, выступать в роли клиента. Будучи сервером, каждая машина должна быть обрабатывать запросы от других машин в сети, отсылать то, что было за Каждая машина также должна выполнять некоторые вс и административные функции (например, хранить список других известных машин-«соседей» и поддерживать его актуальность). Любой член данной сети не гарантирует свое присутствие на постоянной основе. Он может появляться и исчезать в любой момент времени. Но при достижении определённого критического размера сети наступает такой момент, что в сети одновременно существует множество серверов с одинаковыми функциями. Пример такой сети: I2P, Gnutella2. сеть с использованием отдельного сервера: у такой сети все компьютеры связаны друг с другом через сервер а не напрямую. Для получения какой-либо информации с другого компьютера запрос поступает не на тот компьютер откуда должна быть взята информация а сначала поступает на сервер. Там эта информация обрабатывается, сервер ищет ответ и высылает его обратно.
//Как-то громоздко получилось, но я так вижу. Эх, выходные. const n=5; var a:array[1..n] of integer; b:array[0..8] of integer; ar:array[1..n] of integer; i,c,j:integer; begin randomize; writeln('Array:'); for i:=1 to n do begin a[i]:=random(8); write(a[i]:4); end; for i:=1 to n do begin; for j:=0 to 8 do if a[i]=j then inc(b[j]); end; for i:=1 to n do begin; for j:=0 to 8 do if (b[j]>1) and (a[i]=j) then a[i]:=9; if a[i]<>9 then begin; inc(c); ar[c]:=a[i]; end; end; writeln; for i:=0 to 8 do writeln(i,'=',b[i]); writeln; writeln('Final array:'); for i:=1 to n do if a[i]=9 then a[i]:=0;
for i:=1 to c do begin; a[i]:=ar[i]; write(a[i]:4); end; end.
1 Мб = 1024 Кб = 1048576 Байт = 8388608 Бит
1 Гб = 1024 Мб = 1048576 Кб = 1073741824 Байт = 8589934592 Бит