Вопрос задан 05.07.2023 в 01:59. Предмет Информатика. Спрашивает Иванов Егор.

Заполнение двумерного массива C++ Ваша задача — заполнить двумерный массив из N строк и M

столбцов следующим образом: ячейка массива равна сумме её левого и верхнего соседей, или единице, если кого-либо из них не существует.Формат входных данныхНа первой и единственной строке входного файла лежат два целых числа N и M (1≤N,M≤10).Формат выходных данныхВыведите N строк по M столбцов — заполненный соответствующим образом двумерный массив.ПримерВходные данные Выходные данные6 6 1 1 1 1 1 1 1 2 3 4 5 6 1 3 6 10 15 21 1 4 10 20 35 56 1 5 15 35 70 126 1 6 21 56 126 2525 3 1 1 1 1 2 3 1 3 6 1 4 10 1 5 15
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Карасева Виктория.

Ответ:

Прикрепил файл с кодом.

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

Для проверки правильности прикрепляю скриншоты результатов работы при входных данных из условия.

============

Не забывайте нажать "Спасибо", поставить оценку и, если ответ удовлетворил, то выберите его как "Лучший"

Бодрого настроения и добра!

Успехов в учебе




0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример решения данной задачи на C++:

cpp
#include <iostream> using namespace std; int main() { int N, M; cin >> N >> M; int arr[10][10]; // Максимальный размер массива 10x10 // Заполнение массива for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { if (i == 0 || j == 0) { arr[i][j] = 1; // Верхний и левый края заполняются единицами } else { arr[i][j] = arr[i - 1][j] + arr[i][j - 1]; // Сумма верхнего и левого соседей } } } // Вывод массива for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { cout << arr[i][j] << " "; } cout << endl; } return 0; }

Программа сначала считывает значения N и M, затем заполняет двумерный массив в соответствии с заданными условиями. В данном примере ограничение на размер массива установлено как 10x10, так как в условии указано, что N и M не превышают 10. Вы можете изменить это значение в зависимости от ограничений задачи.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос