
Вопрос задан 12.07.2023 в 12:30.
Предмет Информатика.
Спрашивает Кособокова Настя.
Заполнение диагоналями По данным числам n и m заполните двумерный массив размером n∗m числами от
1 до n∗m “диагоналями”, как показано в примере. Входные данные Вводятся два числа n и m. Выходные данные Выведите полученный массив, отводя на вывод каждого элемента ровно 4 символа. В языке Python для этого можно использовать метод rjust (выравнивание по правому краю с указанием числа позиций для вывода). Например, так: Примеры Ввод Вывод 3 5 1 2 4 7 10 3 5 8 11 13 6 9 12 14 15 Решите задачу на C++ Пожалуйста!!

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

Отвечает Гисар Ліза.
Ответ:
#include <iostream>
int main(void){
const int N = 3;
const int M = 5;
int mat[N][M];
int i, j, row = 0, col = 0, n = 1;
while(row <= (N - 1)){
i = row;
j = col;
while((i < N) && (j >= 0))
mat[i++][j--] = n++;
if(col < (M - 1))
++col;
else
++row;
}
for(i = 0; i < N; ++i){
for(j = 0; j < M; ++j){
std::cout.width(3);
std::cout << mat[i][j];
}
std::cout << std::endl;
}
return 0;
}
Объяснение:



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения этой задачи на C++ можно использовать следующий код:
cpp#include <iostream>
#include <iomanip> // Для использования метода setw
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int arr[n][m];
int num = 1;
// Заполняем диагонали
for (int d = 0; d < n + m - 1; d++) {
for (int i = 0; i < n; i++) {
int j = d - i;
if (j >= 0 && j < m) {
arr[i][j] = num++;
}
}
}
// Выводим полученный массив
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << setw(4) << arr[i][j];
}
cout << endl;
}
return 0;
}
Пример входных данных:
3 5
Пример вывода:
1 2 4 7 10 3 5 8 11 13 6 9 12 14 15
Объяснение кода:
- Мы считываем значения
n
иm
. - Создаем двумерный массив
arr
размеромn
наm
. - Заполняем массив числами от 1 до
n * m
диагоналями. - Выводим полученный массив, используя
setw(4)
для выравнивания по правому краю и отвода на вывод каждого элемента ровно 4 символа.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili