0 / 0 / 0
Регистрация: 08.02.2014
Сообщений: 7
1

Напишите программу, которая заполняет две матрицы случайными целыми числами, складывает матрицы и печатает

08.02.2014, 02:26. Показов 3924. Ответов 6
Метки нет (Все метки)

пожалуйста прога нужна на питоне лучше если на 3.3.3 Напишите программу, которая заполняет две матрицы 5×5 случайными целыми числами, складывает матрицы и печатает все (три) матрицы.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2014, 02:26
Ответы с готовыми решениями:

Напишите программу, которая заполняет массив случайными целыми числами
Напишите программу, которая заполняет массив случайными целыми числами, вводит с клавиатуры целое...

Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [ A , B ]
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне ...

Составить программу, которая заполняет массив случайными целыми числами
Составить программу, которая заполняет массив случайными целыми числами из диапазона,...

Составить программу, которая заполняет массив а [1..10] случайными целыми числами в диапазоне от 1 до 10
составить программу, которая заполняет массив а случайными целыми числами в диапазоне от 1 до 10,...

6
141 / 141 / 38
Регистрация: 20.02.2012
Сообщений: 597
08.02.2014, 08:12 2
а что уже сделали?
не начав самим что-либо делать. так вы не научитесь.

начните сами. выложите код. скажите что не понятно вам и вам растолкуют
0
2738 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,832
08.02.2014, 08:24 3
Лучший ответ Сообщение было отмечено как решение

Решение

ilnurgi, Судя по всему кому-то задали лабу, а этому кому-то это совсем не интересно =)
3
0 / 0 / 0
Регистрация: 08.02.2014
Сообщений: 7
08.02.2014, 14:14  [ТС] 4
Вот код программы, выдается ошибка, не пойму из-за чего:
Код
import random

def matrixGenerator(rows, cols):
    mainArray = range(rows) #number of rows of your matrix
    for i in range(rows):
        rowArray = range(cols)
    for ii in range(cols):
        rowArray[ii] = randNumber()
        mainArray[i] = rowArray
    return mainArray

def sumMatrices(matrix1, matrix2):
#the function assumes that both matrices are of the same size
    sumOfMatx = range(len(matrix1))
    rowsIndex = 0
    while rowsIndex < len(matrix1):
        matCol = range(len(matrix1[rowsIndex]))
        colsIndex = 0
    while colsIndex < len(matCol):
        matCol[colsIndex] = matrix1[rowsIndex][colsIndex] + matrix2[rowsIndex][colsIndex]
        colsIndex += 1
        sumOfMatx[rowsIndex] = matCol
        rowsIndex += 1
    return sumOfMatx

def printMat(matrix):
    for i in matrix:
        print(i)

def randNumber():
    return random.randint(1, 65323)

myMatrix1 = matrixGenerator(5, 5)
myMatrix2 = matrixGenerator(5, 5)
myMatrix3 = sumMatrices(myMatrix1, myMatrix2)

print("First matrix:")
printMat(myMatrix1)
print("\n")
print("Second matrix:")
printMat(myMatrix2)
print("\n")
print("Third matrix:")
printMat(myMatrix3)
print("\n")
Код ошибки:
Код
Traceback (most recent call last):
  File "C:\Users\Катя\Desktop\123.py", line 39, in <module>
    myMatrix1 = matrixGenerator(5, 5)
  File "C:\Users\Катя\Desktop\123.py", line 14, in matrixGenerator
    rowArray[ii] = randNumber()
TypeError: 'range' object does not support item assignment
Версия питона 3.3.3.
0
561 / 484 / 168
Регистрация: 14.02.2012
Сообщений: 1,561
08.02.2014, 14:26 5
Лучший ответ Сообщение было отмечено Катька111 как решение

Решение

Катька111, range в Python 3.x создает генератор. Список создавался в Python 2.x.
Сейчас это можно сделать так:
Python
1
2
3
>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
А ещё лучше так:
Python
1
2
3
>>> a = [i for i in range(10)]
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
1
2738 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,832
08.02.2014, 14:58 6
Лучший ответ Сообщение было отмечено Катька111 как решение

Решение

Python
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
import random
 
 
def matrix_generator(rows, columns):
    main_list = []
    for i in range(rows):
        main_list.append([random.randint(1, 65323) for i in range(columns)])
    return main_list
 
 
def sum_matrices(matrix1, matrix2):
    result = []
    for sublist in zip(matrix1, matrix2):
        temp = []
        for numbers in zip(sublist[0], sublist[1]):
            temp.append(sum(numbers))
        result.append(temp)
    return result
 
 
def print_matrix(out, matrix):
    print(out)
    for i in matrix:
        print(i)
    print('')
 
 
matrix1 = matrix_generator(5, 5)
matrix2 = matrix_generator(5, 5)
result = sum_matrices(matrix1, matrix2)
 
for i in (('Первая матрица', matrix1), ('Вторая матрица', matrix2), ('Результирущая матрица', result)):
    print_matrix(i[0], i[1])
1
0 / 0 / 0
Регистрация: 08.02.2014
Сообщений: 7
08.02.2014, 17:20  [ТС] 7
Спасибо за помощь
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2014, 17:20
Помогаю со студенческими работами здесь

Составить программу, которая заполняет массив случайными целыми числами из диапазона
Составить программу, которая заполняет массив случайными целыми числами из диапазона, введенного...

Написать программу, которая заполняет элементы матрицы случайными числами a[n][n] и осуществляет вывод данных
Написать программу, которая заполняет элементы матрицы случайными числами a и осуществляет вывод...

Даны две квадратные матрицы n-го порядка (матрицы заполнены произвольно случайными целыми числами из диапазонов [-5; 15]
Даны две квадратные матрицы n-го порядка (матрицы заполнены произвольно случайными целыми числами...

Программа, которая заполняет массив a[1.10] случайными целыми числами
Cоставьте программу, которая заполняет массив a случайными целыми числами в диапазоне от 1 до 10 и...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru