М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
youyousiis
youyousiis
03.09.2020 01:40 •  Информатика

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

👇
Ответ:
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
4,8(58 оценок)
Открыть все ответы
Ответ:
kondratenkoari1
kondratenkoari1
03.09.2020
Вообще то, это задача чисто математическая.  Пусть есть трехзначное число abc.
По условию:

   abc
+ abc

   bca
Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос  ->  получим систему уравнений:
2c = a +16
2b +1 = c + 16
2a + 1 = b
равносильная ей система
2с = a + 16
c = 2b - 15
b = 2a + 1
подставляем третье во второе, получаем первые два уравнения
2с = a + 16
c = 4a - 13   из этих двух уравнений  ->   7a = 42  ->  a = 6  -> из третьего уравнения  b = 13
13 = D(16),   из первого уравнения  с = 22/2 = 11(10) = B(16)
->  abc(16) = 6DB(16) = 1755(10),     DB6(16) = 3510(10)   -> 2abc = bca
4,4(57 оценок)
Ответ:
pervushin752
pervushin752
03.09.2020
0. Начало
1. Ввод - Гвозди, картина молоток, стена
2. Операция - Прибить гвоздь к стене при молотка
3. Условие - Гвоздь прибит к стене? Нет->Повторить пункт 2;
Да->Переходим к пункту 4
4. Повесить картину на гвоздь
5. Конец

Ну это если не заморачиваться с условиями. К примеру можно после 4 пункта поставить условие на проверку положения картины, т.е Картина висит прямо? ->Нет то Действие выровнять положение картины;
Да->Конец

UPD: Ещё можно создать условие на состояние гвоздя - погнутый или целый, вытаскивание погнутого гвоздя и т.д.
4,6(14 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ