Заполнение матрицы змейкой python

Заполнить матрицу вертикальной змейкой

Создаётся матрица размером n*m (n — к-во строк, m — к-во столбцов) и заполняется «вертикальной змейкой» сверху вниз и слева направо. Пример:

Ввод: 5 6
Вывод:
1 10 11 20 21 30
2 9 12 19 22 29
3 8 13 18 23 28
4 7 14 17 24 27
5 6 15 16 25 26

Заполнить матрицу змейкой по горизонтали, вертикали и диагонали
Задание 2. Даны целые числа 0, 1, 2, 3, … , 63. Получить квадратную матрицу (таблицу) 8 на 8.

Вывести слово вертикальной «змейкой»
Помогите, пожалуйста, написать код с применением цикла FOR

Заполнить матрицу случайными числами. Отобразить матрицу симметрично относительно главной диагонали
Заполнить матрицу случайными числами. Отобразить матрицу симметрично относительно главной диагонали.

Заполнить матрицу змейкой
по данным числам n и m заполните двумерный массив числами от 1 до n×m змейкой,как показано на.

Заполнить матрицу змейкой в трех вариантах
Напишите 3 программы, которые заполняют матрицу из N строк и M столбцов натуральными числами.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
n, m = map(int, input().split()) d = [[0 for _ in range(m)] for _ in range(n)] k = 1 for c in range(m): if c % 2: for r in range(n - 1, -1, -1): d[r][c] = k k += 1 else: for r in range(n): d[r][c] = k k += 1 for i in d: print(*i)
5 6 1 10 11 20 21 30 2 9 12 19 22 29 3 8 13 18 23 28 4 7 14 17 24 27 5 6 15 16 25 26 ** Process exited - Return Code: 0 ** Press Enter to exit terminal
1 2 3 4 5 6 7 8 9 10 11 12 13
n, m = map(int, input().split()) d = [[0 for _ in range(m)] for _ in range(n)] k = 1 for c in range(m): for r in range(n): if c % 2: d[n - r - 1][c] = k else: d[r][c] = k k += 1 for i in d: print(*i)
n, m = map(int, input().split()) d = [[0 for _ in range(m)] for _ in range(n)] k = 1 for c in range(m): for r in range(n): d[n - r - 1 if c % 2 else r][c] = k k += 1 for i in d: print(*i)
n, m = map(int, input().split()) d=[[j*n+i+1 for i in range(n)][::(1,-1)[j%2]] for j in range(m)] d=[i for i in zip(*d)] for i in d: print(*i)
n, m = map(int, input().split()) d = [[(n -r) + c * n if c % 2 else 1 + r + c * n for c in range(m)] for r in range(n)] for i in d: print(*i)

Эксперт Python

n, m = map(int, input().split()) a = [[j*n+(i+1,n-i)[j%2] for j in range(m)] for i in range(n)] for row in a: print(*row)

Заполнить матрицу случайными числами. Отразить симметрично относительно вертикальной оси сектора матрицы
Заполнить матрицу случайными числами. Отразить симметрично относительно вертикальной оси сектора.

Заполнить матрицу случайными числами. Отразить главную и боковую диагонали симметрично относительно вертикальной оси
Заполнить матрицу случайными числами. Отразить главную и боковую диагонали симметрично.

Вывести матрицу змейкой
Здравствуйте, уже который час бьюсь над этой задачей, прошу помощи. Нужно вывести матрицу вот.

Заполнить матрицу числами от 1 до n заданным образом: «Вертикальной Змейкой»
Доброго времени суток, такая задача Дан массив размером n×n, элементы которого целые числа.

Вводится матрица. Отсортировать матрицу вертикальной змейкой
Вводится матрица. Отсортировать матрицу вертикальной змейкой #include <stdio.h> int**.

Читайте также:  Erp open source python

Заполнить матрицу змейкой
Подскажите пожалуйста в чем ошибка? int n=6, m=6; int H = new int; .

Источник

Заполнение матрицы змейкой

Заполнение матрицы змейкой
Подскажите пожалуйста, как можно составить программу, составляющую массив n-ого размера из.

Заполнение массива змейкой
Здравствуйте. Вот решаю задачку по созданию и заполнению массива змейкой. В результате должно.

Заполнение двумерного массива змейкой
заполнение идёт по спирали, в один цикл не получится, можно разбить на 4 цикла и в центр добавить.

Вывод матрицы змейкой наружу
Доброго времени суток. Я пытаюсь сделать вывод матрицы змейкой наружу, примерно так: 7 8 9 6 1 2.

Эксперт Python

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
n, m = map(int, input().split()) a = [] w = -1 a2 = [] for i in range(n): a1 = [] for j in range(m): w = w + 1 a1.append(w) if i % 2 == 1: a1.reverse() a.append(a1) else: a.append(a1) for i in a: for j in range(m): print(''.format(i[j]), end='') print()

Somesolt4shell, Условие не понятно. Так все таки заполнять матрицу змейкой последовательностью натуральных чисел начиная с 1, 2, 3 . или сортировать изначально данную матрицу разместив элементы из этой исходной матрицы змейкой.
Что бы можно было протестировать предложенный Вами код разместите его правильно.
Начать нужно с того, что когда Вы копируете сюда код своей программы, используйте в окне кнопку Python (‘Выделить код Python’) и туда, между тегами, вставляйте свою программу, что бы не пропадали отступы из Вашей программы. Тогда будет проще отвечать на Ваш вопрос, учитывая, что ошибка у Вас может быть и в неправильных отступах. Отступы являются частью синтаксиса Python.

Добавлено через 2 минуты
Somesolt4shell, Хотя отступы у Вас есть, но лучше использовать кнопку Python.

Добавлено через 7 минут
Somesolt4shell, В вашем коде Вы заполняете матрицу последовательностью натуральных чисел начинающуюся с 0. Тогда причем здесь сортировка?
Под сортировкой всегда понимается наличие не сортированной последовательности, которую нужно сортировать.

Добавлено через 10 минут
Somesolt4shell, Если же сортировать матрицу, то нужно иметь произвольную исходную матрицу, например созданную рандомно, как это обычно делается.
Затем взять все элементы матрицы и поместить в одномерный список.
Потом отсортировать этот список и уже его использовать для заполнения матрицы змейкой.
Это то, что нужно сделать, если условие:

ЦитатаСообщение от Somesolt4shell Посмотреть сообщение

Если же нужно просто заполнить матрицу последовательностью чисел начиная с нуля змейкой, то в своем условии замените слово сортирует на слово заполняет, при этом указав, чем заполняет.

Источник

Заполнение матрицы змейкой

Подскажите пожалуйста, как можно составить программу, составляющую массив n-ого размера из целочисленных случайных чисел, затем отсортировать его змейкой?
Затем надо вывести первую строку матрицы, выводя сначала самые часто повторяемые числа, затем те, что повторяются реже.

Заполнение матрицы змейкой
Сделал по заданию препода программу, которая сортирует матрицу змейкой, но она работает лишь при n.

Заполнение массива змейкой
Здравствуйте. Вот решаю задачку по созданию и заполнению массива змейкой. В результате должно.

Читайте также:  What are form tags in html

Заполнение двумерного массива змейкой
заполнение идёт по спирали, в один цикл не получится, можно разбить на 4 цикла и в центр добавить.

Вывод матрицы змейкой наружу
Доброго времени суток. Я пытаюсь сделать вывод матрицы змейкой наружу, примерно так: 7 8 9 6 1 2.

Somesolt4shell, тут не так просто всё объяснить, могу посоветовать нарисовать небольшую матрицу на бумаге, написать вместо элементов индексы
и потом посмотреть на последовательность заполнения
будет хорошо видно как это организовать во вложенном цикле
естественно, для начала нужно будет вытащить все элементы из матрицы в общий список, и его отсортировать

Добавлено через 2 минуты
а со строкой вообще всё просто, можно через словарь например посчитать, или импортировать counter
https://docs.python.org/3/libr. ns.Counter

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
""" Создаем матрицу-змейку #n - размерность матрицы n x n #b - результирующая матрица #st - текущее значение-счетчик для записи в матрицу #m - коеффициент, используемый для заполнения верхней #матрицы последующих витков, т.к. одномерные матрицы #следующих витков имеют меньше значений """ n = int(input("Размерность матрицы: ")) b = [[0]*n for i in range(n)] st, m = 1, 0 # Заранее присваиваю значение центральному элементу # матрицы b[n//2][n//2]=n*n for v in range(n//2): #Заполнение верхней горизонтальной матрицы for i in range(n-m): b[v][i+v] = st st+=1 #Заполнение правой вертикальной матрицы for i in range(v+1, n-v): b[i][-v-1] = st st+=1 #Заполнение нижней горизонтальной матрицы for i in range(v+1, n-v): b[-v-1][-i-1] =st st+=1 #Заполнение левой вертикальной матрицы for i in range(v+1, n-(v+1)): b[-i-1][v]=st st+=1 m+=2 b.reverse() for el in b: el.reverse() print(el)

Эксперт Python

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
n, m = map(int, input().split()) a = [] w = -1 a2 = [] for i in range(n): a1 = [] for j in range(m): w = w + 1 a1.append(w) if i % 2 == 1: a1.reverse() a.append(a1) else: a.append(a1) for i in a: for j in range(m): print(''.format(i[j]), end='') print()

Источник

Список заполняется «змейкой»

Напишите программу, в которой есть функция для заполнения вложенного списка. Список
заполняется натуральными числами «змейкой»: сначала заполняется первая строка, затем
последний столбец (сверху вниз), последняя строка (справа налево), первый столбец (снизу
вверх), вторая строка (слева направо), и так далее.

Список змейкой
Вводятся числа n — количество строк, и m — количество чисел в строке. Надо сделать чтобы числа шли.

Ошибка при заполнении списка, весь список в цикле заполняется последними значениями
Доброго времени суток! Только недавно начала изучать питон, есть задача написать скрипт, который.

Не заполняется список
Имеется три списка. 1-ый с постоянным набором записей, он формирует 2-ой, а 2-ой 3-ий. Т.е.

Как заполняется список?
<!DOCTYPE html> <html lang="ru"> <head> <title>Пример функции и ее использования</title> .

Читайте также:  List find method java

Не заполняется список в приложении
Здравствуйте! Помогите мне, пожалуйста, разобраться в чём ошибка. Задание: Создать форму, в.

Эксперт Python

Лучший ответ

Сообщение было отмечено Magicoff как решение

Решение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
""" Создаем матрицу-змейку #n - размерность матрицы n x n #b - результирующая матрица #st - текущее значение-счетчик для записи в матрицу #m - коеффициент, используемый для заполнения верхней #матрицы последующих витков, т.к. одномерные матрицы #следующих витков имеют меньше значений """ n = int(input("Размерность матрицы: ")) b = [[0]*n for i in range(n)] st, m = 1, 0 # Заранее присваиваю значение центральному элементу # матрицы b[n//2][n//2]=n*n for v in range(n//2): #Заполнение верхней горизонтальной матрицы for i in range(n-m): b[v][i+v] = st st+=1 #Заполнение правой вертикальной матрицы for i in range(v+1, n-v): b[i][-v-1] = st st+=1 #Заполнение нижней горизонтальной матрицы for i in range(v+1, n-v): b[-v-1][-i-1] =st st+=1 #Заполнение левой вертикальной матрицы for i in range(v+1, n-(v+1)): b[-i-1][v]=st st+=1 m+=2 b.reverse() for el in b: el.reverse() print(el)

Источник

Вывести матрицу змейкой

Здравствуйте, уже который час бьюсь над этой задачей, прошу помощи.
Нужно вывести матрицу вот таким способом (так сказать змейкой):
[[ 1 2 6 7 15]
[ 3 5 8 14 16]
[ 4 9 13 17 22]
[10 12 18 21 23]
[11 19 20 24 25]]

Заполнить матрицу змейкой
по данным числам n и m заполните двумерный массив числами от 1 до n×m змейкой,как показано на.

Заполнить матрицу змейкой в трех вариантах
Напишите 3 программы, которые заполняют матрицу из N строк и M столбцов натуральными числами.

Вывести двумерный массив змейкой
arr2d = , , ] Помогите вывести двумерный массив змейкой, пытался не получалось. pls.

Заполнить матрицу вертикальной змейкой
Создаётся матрица размером n*m (n — к-во строк, m — к-во столбцов) и заполняется "вертикальной.

Заполнить матрицу змейкой по горизонтали, вертикали и диагонали
Задание 2. Даны целые числа 0, 1, 2, 3, … , 63. Получить квадратную матрицу (таблицу) 8 на 8.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
import numpy as np def snake(n): MAXINDEX=n-1 VECT=np.array([[-1,1],[0,1],[1,-1],[1,0]]) #Вектор изменения индекса matr=np.zeros((n,n), dtype=int) #Первоначальная матрица - нулевая iVect=0 #Индекс текущего направления spos=np.array([0,0]) #Текущая позиция for i in range(1,n**2+1): matr[tuple(spos)]=i if min(spos)==MAXINDEX: #Дошли до конца return matr elif spos[n%2]==0: #Перед следующим условием из-за диагонали iVect+=1 elif max(spos)==MAXINDEX: #Дошли до максимального элемента - повернули назад iVect-=1 elif min(spos)==0: #Дошли до нулевого - повернули вперед iVect+=1 spos+=VECT[iVect %4] #Цикличность индекса print('snake(4)=\n', snake(4)) print('snake(5)=\n', snake(5))

Источник

Оцените статью