helenavalenti2846
?>

Определите, что будет напечатано в результате выполнения следующего алгоритма var k, m:integer; dat: array[1..10] og integer; begin dat[1]:=45; dat[2]:=55; dat[3]:=40; dat[4]:=15; dat[5]:=20; dat[6]:=80; dat[7]:=35; dat[8]:=70; dat[9]:=10; dat[10]:=45; m:=dat[1]; for k:=2 to 10 do begin if dat[k] begin m:=m+dat[k]; ; end; end; write (m); end

Информатика

Ответы

Veselova

ответ:Для начала в 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()

}

Рогов1996

Если создать шаблон строки с автозаполнением, то можно немного у код:

import sys

num_steps = int(sys.argv[1])

fmt_template = '{}.{:>%d}' % num_steps

for x in range(1, num_steps + 1):

   print(fmt_template.format(x, '#' * x))

При num_steps = 4:

1.   #

2.  ##

3. ###

4.

Объяснение:

Все аргументы функции print, указанные через запятую, выводятся разделенные пробелом, отсюда и нестыковка.

Можно так попробовать:

for x in range(1, c+1):

   print('{0}{1}{2}'.format(x, " " * (c - x), '#' * x))

Для c = 3:

1  #

2 ##

3###

Либо заменить запятую конкатенацией (знак +):

print(str(x) + " " * (c - x) + '#' * x)

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

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

Определите, что будет напечатано в результате выполнения следующего алгоритма var k, m:integer; dat: array[1..10] og integer; begin dat[1]:=45; dat[2]:=55; dat[3]:=40; dat[4]:=15; dat[5]:=20; dat[6]:=80; dat[7]:=35; dat[8]:=70; dat[9]:=10; dat[10]:=45; m:=dat[1]; for k:=2 to 10 do begin if dat[k] begin m:=m+dat[k]; ; end; end; write (m); end
Ваше имя (никнейм)*
Email*
Комментарий*

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

erere4443
luksorsps20096124
Андрей Анна22
vadimnechaev23150
valeron7hair7
Анатолий
Plotnikovangav
sbarichev330
Adassa00441
kodim4
naratnikova
siyaniemoskva
boykoz9
abramovae
Vyacheslavovna1867