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

Используя бинарный поиск, найти порядковый номер элемента, который равен разности первого элемента массива с последним.в динамическом массиве через паскаль

👇
Ответ:
Владик003
Владик003
27.04.2022
Var a:array of integer;
n,i,p,i1,i2: integer;
begin
write('n = ');
readln(n);
SetLength(a,n);
Randomize;
a[0]:=random(50)+100;
write(a[0]:4);
for i:=1 to n-1 do
 begin
 a[i]:=a[i-1]-random(11);
 write(a[i]:4);
 end;
writeln;
p:=a[0]-a[n-1];
writeln('p = ',p);
i1:=0; i2:=n-1; 
repeat
i:=(i1+i2) div 2;
if a[i]>p then i1:=i1+1;
if a[i]<p then i2:=i2-1;
until (a[i]=p)or(i1>=i2);
if a[i]=p 
 then writeln('i = ',i) 
 else writeln('Искомого элемента нет');
end.

Пример:
n = 20
 142 139 135 129 120 120 120 113 107 106 104  99  89  88  81  72  71  70  60  54
p = 88
i = 13
4,5(37 оценок)
Открыть все ответы
Ответ:
соня1582
соня1582
27.04.2022

ответ:  на Python

оба задания делаются внутри одного кода. Первая часть квадратов рисуется по верхней границе, вторая часть - по нижней. Если нужно будет разделить на 2 программы - в тексте оставил комментарии что нужно будет убрать.    :)))

from tkinter import*

class Rec(Frame):

   def __init__(self):

       super().__init__()

       self.initUI()

 

   def initUI(self):

       #k =30

       #b = 20

       k=int(input('Длина стороны первого квадрата : '))

       b=int(input('Шаг изменения длинны стороны последующих квадратов :'))

 

       lt =0  

       a=k  # 'a' добавлена потому что обе части задания в одном коде

       self.master.title("1")

       self.pack(fill=BOTH, expand=1)

       canvas = Canvas(self, bg="white")

               

#  Этот кусок кода для 1 части задания

       for i in range(0,4):

         canvas.create_rectangle(lt, 0, lt+a, a, outline="#000")

         lt = lt +a

         a = a+b

#  Конец 1 части

       

#  Этот кусок кода для 2 части задания

       lt=0

       a =0

       while a*4 < 200:

         canvas.create_rectangle(lt, 300, lt+a, 300-a, outline="#000")

         lt = lt +a

         a = a+b  

#  Конец 2 части                

       canvas.pack(fill=BOTH, expand=1)

def main():

   root = Tk()

   ex = Rec()

   root.geometry("300x300")

   root.mainloop()

 

if __name__ == '__main__':

   main()


пожайлуста , Задание 1. Проекты с циклами со счетчиком с использованием величин ( ). 1. Откройте сре
4,7(12 оценок)
Ответ:
AzamatAmangaliev1
AzamatAmangaliev1
27.04.2022
1)var a:array[1..3,1..3] of integer;
b:array[1..3,1..3] of integer;
c:array[1..3,1..3] of integer;
i,j:integer;
begin;
writeln('A array:');
for i:=1 to 3 do
begin;
writeln;
  for j:=1 to 3 do
   begin;
    a[i,j]:=random(-10,10);
    write(a[i,j]:4);
   end;
end;
writeln;
writeln('B array:');
for i:=1 to 3 do
begin;
writeln;
  for j:=1 to 3 do
   begin;
    b[i,j]:=random(-10,10);
    write(b[i,j]:4);
   end;
end;
writeln;
writeln('C array:');
for i:=1 to 3 do
begin;
writeln;
  for j:=1 to 3 do
   begin;
    c[i,j]:=a[i,j]*b[i,j];
    write(c[i,j]:4);
   end;
end;
end.
2)var a:array of array of integer;
i,j,k,n,u:integer;
begin;
randomize;
readln(n);
setlength(a,n+1);
for i:=1 to n do
setlength(a[i],n+1);
writeln('A array:');
for i:=1 to n do
 begin;
  writeln;
   for j:=1 to n do
    begin;
     a[i,j]:=random(-10,10);
     write(a[i,j]:4);
    end;
 end;
for i:=1 to n do
 begin;
  for j:=1 to n do
   u+=a[i,j];
 if u<0 then inc(k);
 u:=0;
 end;
writeln;
write('Result:',k);
end.
4,5(89 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ