С++ Вам дан фрагмент программы, в котором создается двумерный массив и выводится на экран. Дополните эту программу таким образом, чтобы элементы в каждой строке были равны индексу этой строки.
#include
using namespace std;
int main() {
int n, m;
int arr[100][100];
cin >> n >> m;
// ваш код
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
Формат входных данных
В единственной строке входных данных вводятся два натуральных числа N и M, не превосходящие 100.
Формат выходных данных
Выведите N строк по M столбцов — заполненный соответствующим образом двумерный массив.
Примечания
Сдавать требуется только указанный фрагмент программы.
входные данные
3 4
10 8
выходные данные
0 0 0 0
1 1 1 1
2 2 2 2
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6
7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9
В общем случае для создания компьютерных сетей требуется наличие линии связи между компьютерами (канала передачи данных), специального аппаратного обеспечения (сетевого оборудования) и специального программного обеспечения (сетевых программных средств).
Компьютерные сети предназначены:
• для обмена данными между ПК;
• для совместного использования вычислительных ресурсов. Ресурсы бывают трех типов:
• аппаратные (принтер, емкости жестких дисков);
• программные;
• информационные.
Когда все участники небольшой компьютерной сети пользуются общим принтером, то они разделяют общий аппаратный ресурс. В сети может находиться один компьютер с увеличенной емкостью жесткого диска (файл-сервер), на котором участники сети хранят свои архивы и результаты работы. В этом случае аппаратным ресурсом является внешняя память сетевого компьютера. Другой распространенный пример: предоставление услуг хостинга - возможности размещенияweb-страниц и других пользовательских файлов на сервере в Интернет.
Пример совместного использования программных ресурсов: для выполнения очень сложных и продолжительных расчетов возможно подключение к удаленной большой ЭВМ, при этом существует возможность отправить на нее вычислительное задание, а по окончании расчетов точно так же получить результат обратно.
Информационные ресурсы образуют данные (текст, графические изображения, аудио- и видеоинформация), хранящиеся на удаленных компьютерах. Пример: Интернет воспринимается как гигантская информационно-справочная система.
Различают следующие виды компьютерных сетей:
• локальные, которые используются для обмена информацией между ПК, расположенными на ограниченной территории (удаленными на небольшие расстояния) в пределах одного здания или в рамках одной организации. При этом, как правило, используются проводные линии связи;
• региональные, связывающие компьютеры отдельной страны или экономического региона;
• глобальные, используемые для связи компьютеров разных стран, континентов.
Глобальная сеть Интернет - это всемирное объединение различных региональных и корпоративных компьютерных сетей, образующих единое информационное пространство благодаря использованию общих стандартных протоколов передачи данных.
Основной стандартный протокол в Интернете – TCP/IP(-InternetProtocol).
Протокол - совокупность правил и соглашений, регламентирующих формат и процедуру передачи данных между двумя или несколькими независимыми устройствами или процессами. Выбор протокола ТСРЛР был обусловлен исторически.
ответ:Для начала в 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()
}