marinandnatasha1
12.06.2020 18:19

перевести код с питона на паскаль.

условие:

Дано количество точек на плоскости, затем сами точки. Они описывают выпуклый многоугольник на плоскости. Найти площадь многоугольника (использовать косое произведение)

код:

n = int(input())
arr = []
for i in range(n):
! arr.append([int(x) for x in input().split()])
s = 0
for i in range(n):
! a = arr[i]
! b = arr[(i+1) % n]
! s += (a[0] * b[1] - a[1] * b[0]) / 2
print(s)

! там, где должны быть tabы

n = int(input())
arr = []
f = 1
for i in range(n):
! arr.append([int(x) for x in input().split()])
for i in range(n):
! a = arr[i]
! b = arr[(i+1) % n]
! c = arr[(i + 2) % n]
! x1 = b[0] - a[0]
! y1 = b[1] - a[1]
! x2 = c[0] - b[0]
! y2 = c[1] - b[1]
! s = (x1 * y2 - x2 * y1) / 2
! if i == 0:
! ! if s > 0:
! ! ! p = 1
! ! else:
! ! ! p = -1
! else:
! ! if p * s < 0:
! ! ! print('Не выпуклый!')
! ! ! f = 0
if f == 1:
! print('Выпуклый!')

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
FlayakaDanya
22.10.2022 15:57

А́вторское пра́во — институт гражданского права, регулирующий правоотношения, связанные с созданием и использованием (изданием, исполнением, показом и т. д.) произведений науки, литературы или искусства, то есть объективных результатов творческой деятельности людей в этих областях. Программы для ЭВМ и базы данных также охраняются авторским правом. Они приравнены к литературным произведениям и сборникам, соответственно[1].

Авторское право включает как неимущественные (моральные) права автора, которые неотъемлемы и действуют бе , так и имущественные права на использование произведения, которые автор может передавать другим лицам.

Так?

0,0(0 оценок)
Ответ:
dulikosha20051
12.10.2021 02:35

ответ:Для начала в onCreate() уберите эту строку:

chatContainer.clear()

Нет смысла чистить только созданный пустой список. Дальше я бы вам советовал следующим образом. Для начала при объявлении адаптера не нужно сразу ему передавать список:

lateinit var adapter: RecyclerChatAdapter

Дальше как только ваш список заполнен вы это проверяете в цикле и инициализируете адаптер:

when {

   documentSnapshot != null -> {

       for (dc in documentSnapshot.documentChanges) {

           when (dc.type) {

               DocumentChange.Type.ADDED -> {

                   val chat = dc.document.toObject(Chat::class.java)

                   chatContainer.add(chat) // Добавление данных в Recycler

                   if(chatContainer.size == documentSnapshot.documentChanges)

                   {

                       adapter = RecyclerChatAdapter(chatContainer)

                   }

               }

           }

       }

   }

}

и дальше сеттинг адаптера как и было у вас в вашем примере. Так же второй вариант как решить вашу проблему, но не уверен что получится, можно в цикле там где вы выводите сообщение в лог обновлять адаптер:

for (i in chatContainer) {

   adapter.notifyDataSetChanged()

}

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота