#!/usr/bin/python3
import numpy as np
def create_random_matrix(rows, cols):
	"""Δημιουργεί πίνακα με τυχαίους ακέραιους0 ή 1."""
	return np.random.randint(0, 2, size=(rows,cols))
def reshape_matrix(matrix, new_shape):
	"""Μετασχηματίζει τον πίνακα στο νέο σχήμα, αν γίνεται."""
	if np.prod(matrix.shape) != np.prod(new_shape):
		raise ValueError("Ο αριθμός των στοιχείων δεν ταιριάζει για μετασχηματισμό.")
	return matrix.reshape(new_shape)
def pad_matrix(matrix, new_shape):
	"""Επεκτείνει τον πίνακα με μηδενικά ώστε να έχει το επιθυμητό σχήμα."""
	padded=np.zeros(new_shape, dtype=int)
	rows, cols=matrix.shape
	padded[:rows, :cols] = matrix
	return padded
def main():
	matrix_3x3=create_random_matrix(3, 3)
	print("Αρχικός Πίνακας 3x3:")
	print(matrix_3x3)
	matrix_4x4=pad_matrix(matrix_3x3, (4, 4))
	print("\nΠίνακας 4x4 (με μηδενικά):")
	print(matrix_4x4)
	matrix_4x6=pad_matrix(matrix_4x4, (4,6))
	print("\nΠίνακας 4x6:")
	print(matrix_4x6)
	matrix_6x6=pad_matrix(matrix_4x6, (6, 6))
	print("\nΠίνακας 6x6:")
	print(matrix_6x6)
if __name__=="__main__":
	main()
