Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 23.02.2021
Сообщений: 16

Сформировать двумерный массив по правилу

04.03.2021, 13:59. Показов 2630. Ответов 6

Студворк — интернет-сервис помощи студентам
В общем, такая вот Задача: Сформировать двумерный массив А размерностью [NxN], данного вида:

0 0 0 0 0 . 1 2
0 0 0 0 0 . 2 1
. . . . . . . . . .
0 1 2 1 0 . 0 0
1 2 1 0 0 . 0 0
2 1 0 0 0 . 0 0

Если кто-то знает как это сделать помогите пж.
буду очень благодарен
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.03.2021, 13:59
Ответы с готовыми решениями:

Сформировать двумерный массив по заданному правилу правилу
Добрый день, помогите пожалуйста. Дана целочисленная матрица n*m. Написать программу, формирующую двумерный массив по следующему правилу:...

Сформировать двумерный массив по правилу
VS(Basic) Сформируйте двумерный массив N(5,7) по правилу: N i,j=|i+5j, если j<=3 |7i+2(j-1),если i>3 Вставьте после...

Сформировать двумерный массив по правилу
Сформируйте двумерный массив M(7,7) по правилу: M (i,j) = -5+10×r , где r – случайное число из отрезка . Введите одномерный массив K =...

6
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
04.03.2021, 14:44
lulson, на коленке
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def generate():
    last = list('00000012')
    while last.index('2') > 0:
        copy_ = last.copy()
        copy_[-3] = '.'
        yield ''.join(copy_)
        new_position = last.index('2') - 1
        last = list('00000000')
        last[new_position] = '2'
        last[new_position - 1] = '1'
        last[new_position + 1] = '1'
    yield '21000.00'
 
 
for line in generate():
    print(line)
резалт
Code
1
2
3
4
5
6
7
8
00000.12
00000.21
00001.10
00012.00
00121.00
01210.00
12100.00
21000.00
3
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
04.03.2021, 15:02
Лучший ответ Сообщение было отмечено lulson как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
n = int(input('N = '))
 
matrix = []
 
for i in range(n):
    row = [0] * n
    row[i] = 2
    if i == 0:
        row[1] = 1
    elif i == n - 1:
        row[n - 2] = 1
    else:
        row[i-1] = row[i + 1] = 1
    row.reverse()
    matrix.append(row)
 
for row in matrix:
    print(*row)
1
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
04.03.2021, 15:11
Python
1
2
3
4
5
6
7
8
9
n = int(input())
arr = [[0] * (n - 2) + [1, 2], [2, 1] + [0] * (n - 2)]
 
for i in range(1, n - 1):
    line = [0] * n
    line[i - 1: i + 2] = [1, 2, 1]
    arr.insert(1, line)
 
print(*arr, sep="\n")
1
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
04.03.2021, 15:32

Не по теме:

Ну и я свои 5 коп - numpy


Python
1
2
3
4
5
6
import numpy as np
n = int(input())
a = np.ones((n, n), dtype=int)
a[np.diag_indices(n)] = 2
a = np.rot90(np.tril(np.triu(a, k = -1), k = 1))
print(a)
1
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
04.03.2021, 21:25
Python
1
2
n = int(input())
[print(*[x if (x := 2-abs(n-i-j-1)) > 0 else 0 for i in range(n)]) for j in range(n)]
1
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
04.03.2021, 23:01
Python
1
2
3
4
n = int(input())
a = tuple(tuple((i + j + 1 == n) + (abs(n - i - j - 1) <= 1) for j in range(n)) for i in range(n))
for row in a:
    print(*row)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.03.2021, 23:01
Помогаю со студенческими работами здесь

Сформировать двумерный массив по правилу
Сформировать двумерный массив A, заполнив его таким образом, чтобы на побочной диагонали были расположены числа от n до 1, над побочной...

Сформировать двумерный массив по правилу
Пользователь вводит два одномерный массива A и B размерности N и M соответственно. Сформировать двумерный массив D размерности MxN,...

Сформировать двумерный массив y(n,m) по правилу y(i,j)
Добрый день. Прошу помочь с данной задачкой. Сформировать двумерный массив y(n,m) по правилу y(i,j) = (i+1)*(j+2). Число столбцов...

Сформировать двумерный массив по правилу
Получить массив D( MxN), М&lt;=10, N&lt;=20 по формуле DI,J = max(AI,J, BI,J+CI,J). Вывести массив D на экран. Массивы A(MxN), B(MxN), C(MxN)...

Сформировать двумерный массив по правилу
Сформировать двумерный массив X(4,4) по правилу: Xij = i/(i+j). Вставьте столбец из единиц перед столбцом, содержащим минимальный элемент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru