Основные проблемы при организации взаимодействия различных сетей связаны с тем, что эти сети используют различные стеки коммуникационных протоколов. В каждом конкретном стеке протоколов, будь то стек DoD или Novell NetWare, средства, реализующие какой-либо уровень, обеспечивают интерфейс для вышележащего уровня своей системы и пользуются услугами интерфейсных функций нижележащего уровня. Например, средства реализации протокола Novell IPX в сервере предоставляют интерфейсные услуги протоколу NCP для приема за от рабочих станций и пересылки им ответов. В свою очередь протокол IPX пользуется интерфейсными функциями драйвера сетевого адаптера Ethernet, чтобы передать пакет для отправки в сеть.
Если бы в компьютерном мире существовал только один стек протоколов, то у независимых разработчиков сетевого и программного обеспечения не было бы никаких проблем: сетевые адаптеры вместе со своими драйверами подходили бы к любой сетевой ОС за счет единого интерфейса между канальным и сетевым уровнями, разработчики транспортных средств новых ОС могли бы использовать существующие реализации протокола сетевого уровня, а разработчики сетевых приложений использовали бы единый API для обращения к сервисным услугам прикладного уровня ОС.
К сожалению, в реальном мире компьютерных сетей существует несколько стеков протоколов, уже завоевавших свое место под солнцем и не собирающихся его уступать. Например, если на предприятии используются мейнфреймы IBM, то они скорее всего используют протоколы сетевой архитектуры SNA и аппаратуру Token Ring. Использование компьютеров DEC с операционной системой VAX означает, что используются протоколы DECnet и Ethernet. Сети локальных компьютеров используют чаще всего протоколы Novell NetWare, Banyan VINES, IBM LAN Server или Microsoft LAN Manager с аппаратурой Ethernet, Token Ring или ARCnet.
Существование многих стеков протоколов не вносит никаких проблем до тех пор, пока не появляется потребность в их взаимодействии, то есть потребность в доступе пользователей сети NetWare к мейнфрейму IBM или пользователей графических рабочих станций UNIX к компьютеру VAX. В этих случаях проявляется несовместимость близких по назначению, но различных по форматам данных и алгоритмам протоколов.
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
int a[n];
for(int i = 0; i < n; i++)
{
cin >> a[i];
}
int maximum = 0, minimum = 999999, index_of_minimum = 0;
for(int i = 0; i < n; i++)
{
maximum = max(maximum,a[i]);
if(minimum > a[i])
{
minimum = min(minimum,a[i]);
index_of_minimum = i + 1;
}
}
int c = minimum;
cout << maximum << ' ' << c << ' ' << index_of_minimum;
return 0;
}
var i,n,c: integer;
mas1,mas2 : array[1..10000] of integer;
begin c:=1;
write('размер массива = ');
read (n);
writeln('элементы массива: ');
for i:=1 to n do begin
read (n);
if (n>0) and (n<=10000) then begin
mas1[c]:=n;
inc(c);
end;
end;
n:=1;
writeln('Выходные данные: ');
i:=1;
while i<=(c-1) do begin
mas2[n]:=mas1[i];
inc(n);
i := i + 3;
end;
for i:=1 to n-1 do
write (mas2[i],' ');
end.