Tatyana1426
?>

Снаписанием программы! pascal abc "составьте программу вычисления суммы тех элементов одномерного массива а(n), что одновременно встречаются в массивах b(n) и c(n)"

Информатика

Ответы

natalya2321
Const
  n = 20; { размер массивов }
  p=0; { минимальное значение элемента }
  q=15; { максимальное значение элемента }
type
  V=array[1..n] of integer;

procedure VInit(var a:V; s:string);
{ процедура заполняет элементы массива a
  случайными значениями из интервала [p;q].
  Элементы сформированного массива выводятся
  с заголовком, в который добавляется значение s }
var
  i,kol:integer;
begin 
  kol:=q-p+1;
  Writeln('Элементы массива ',s);
  for i:=1 to n do
  begin a[i]:=Random(kol)+p; Write(a[i],' ') end;
  Writeln
end;

procedure SortBubble(var a:V);
{ сортировка методом пузырька }
var
  i,j,t:integer;
begin
  for i := 1 to n-1 do
    for j := 1 to n-i do
      if a[j] > a[j+1] then
      begin t := a[j]; a[j] := a[j+1]; a[j+1] := t end
end;

procedure VOut(var a:V;s:string);
{ Элементы массива a выводятся с заголовком s }
var
  i:integer;
begin 
  Writeln(s);
  for i:=1 to n do Write(a[i],' ');
  Writeln
end;

function BinSearch(var a:V;key:integer):boolean;
{ двоичный поиск элемента со значением key в массиве a
  Возвращает true, если элемент найден и false, если нет }
var
  li,ri,mi:integer;
begin
  li:=1; ri:=n;
  while li<ri do begin
    mi:=(li+ri) div 2;
    if a[mi]<key then li:=mi+1 else ri:=mi;
  end;
  BinSearch:=(a[ri]=key)
end;

var
  a,b,c:V;
  i,ai1,s:integer;
  found:boolean;
begin
  Randomize;
  VInit(a,'A'); SortBubble(a); VOut(a,'Отсортированный массив A');
  VInit(b,'B'); SortBubble(b); VOut(b,'Отсортированный массив B');
  VInit(c,'C'); SortBubble(c); VOut(c,'Отсортированный массив C');
  s:=0; found:=false;
  for i:=1 to n do
  begin
    if found then
      if a[i]=ai1 then Inc(s,ai1)
      else found:=false;
    if not found then begin
      found:=BinSearch(b,a[i]);
      if found then found:=BinSearch(c,a[i]);
      if found then begin ai1:=a[i]; Inc(s,ai1) end
    end
  end;
  Writeln('Искомая сумма равна ',s);
end.

Тестовое решение:
Элементы массива A
4 10 6 4 12 5 5 15 0 14 2 2 0 3 14 1 11 13 3 9
Отсортированный массив A
0 0 1 2 2 3 3 4 4 5 5 6 9 10 11 12 13 14 14 15
Элементы массива B
7 3 13 3 10 11 3 15 12 10 0 5 5 15 13 1 15 9 1 5
Отсортированный массив B
0 1 1 3 3 3 5 5 5 7 9 10 10 11 12 13 13 15 15 15
Элементы массива C
4 10 5 8 14 15 8 14 12 4 12 12 3 11 4 0 12 2 10 0
Отсортированный массив C
0 0 2 3 4 4 4 5 8 8 10 10 11 12 12 12 12 14 14 15
Искомая сумма равна 64
mbobo28311
Есть два типа исполнителей, формальные и неформальные. Формальные исполняют ровно то, что им приказывают, и имеют конечный список допустимых инструкций. Неформальные исполнители сами решают, как им достичь цели, пути, как они этого добиваются, могут изменяться.
Формальные исполнители:- избушка (избушка становится к лесу задом, а к говорящему передом)- печь (на которой катался Емеля)
Неформальные исполнители:- Бабка (которую Дед попросить испечь колобок)- Василиса Премудрая (которая в форме лягушки выполняла приказы короля, которые ей передавал Иван-царевич)
cimora-kativ
Как правило, человек выступает в роли неформального исполнителя.  Формальными исполнителями являются преимущественно технические устройства.
Человек в роли неформального исполнителя сам отвечает за свои действия. За действия формального исполнителя отвечает управляющий им объект.Рассмотрим более подробно множество формальных исполнителей. Формальные исполнители необычайно разнообразны, но для каждого из них можно указать круг решаемых задач, среду, систему команд, систему отказов и режимы работы.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Снаписанием программы! pascal abc "составьте программу вычисления суммы тех элементов одномерного массива а(n), что одновременно встречаются в массивах b(n) и c(n)"
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

sandovo590
Test Станислав
Sashagleb19
olesyashazk5055
Грачева мураховская
arnaut-anna
Ляпунов_Владмирович
kristal1
gav973
ilyushin-e
Sadovskaya425
nordwokintos4
juliaWinter
versalmoda2971
d2904