0 / 0 / 0
Регистрация: 06.12.2021
Сообщений: 8

Представление матрицы в текстовом формате

20.04.2022, 13:30. Показов 717. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте, задача такова: нужно представляя матрицу текстовым файлом В матрице A(m x n) заменить элементы на побочной диагонали наименьшим элементом матрицы. Вот мой код, проблема в том что у меня не получается написать функцию для замены на побочной диагонали и вывода в консоль.
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
def crDir(pat):
# Вход: pat – путь к файлу.
# Выход: установка pat текущим каталогом.
    import os
    if not os.path.exists(pat): os.mkdir(pat)
    os.chdir(pat)
 
#Создание матрицы с случ. числами в текстовом документе
 
def crMatr(rows, cols, A, B, pat, name):
# Вход: rows, cols – натуральные числа, A < B – вещественные числа,
# pat, name – строки.
# Выход: представление rowscols матрицы со случайными вещественными
# элементами из отрезка [A; B] в виде текстового файла pat\name.
    import random
    crDir(pat) # устанавливаем текущий каталог,
    f = open(name, 'w') # открыли файл для записи,
    # записываем в файл:
    f.write(str(rows) + '\n') # кол-во строк матрицы,
    f.write(str(cols) + '\n') # кол-во столбцов матрицы,
    f.write(str(B) + '\n') # наибольший элемент матрицы,
    # записываем построчно элементы матрицы в файл:
    for r in range(rows):
        for c in range(cols):
            t = random.uniform(A, B) # случайное число из отрезка [A; B],
            f.write(str(round(t, 3)) + '\n') # записали его в файл с 3 знаками
                                                       # после запятой.
   f.close()
 
#Построчное представление матрицы в консоли
 
def outMatr(pat,name):
    # Вход: pat, name – строки.
    # Выход: построчный вывод в консоль матрицы представленной
    # текстовым файлом pat\name
    # открываем файл в текущем каталоге для чтения:
    crDir(pat)
    f = open(name, 'r')
    # читаем из файла кол-во строк, столбцов и наибольший элемент матрицы:
    rows = int(f.readline())
    cols = int(f.readline())
    f.readline()
    # читаем построчно матрицу из файла:
    for r in range(rows):
        for c in range(cols):
            a = float(f.readline())
            print("%7.3f" % a, end=' ') # вывод элемента матрицы по формату,
        print() # перевод курсора на новую строку.
    f.close()
 
#Поиск мин. элемента
 
def minFileMatr(pat, name):
# Вход: pat, name – строки.
# Выход: наименьший элемент матрицы представленной текстовым
# файлом pat\name
# читаем из файла кол-во строк, столбцов и наибольший элемент:
    crDir(pat)
    f = open(name, 'r')
    rows = int(f.readline())
    cols = int(f.readline())
    min = float(f.readline())
# просматриваем матрицу построчно:
    for r in range(rows):
        for c in range(cols):
            t = float(f.readline())
            if t < min: min = t
    f.close()
    return min
 
#Замена на побочной диагонали
 
def replMatr(rows, cols, pat, name):
    crDir(pat)
    f = open(name, 'r')
    # читаем из файла кол-во строк, столбцов
    rows = int(f.readline())
    cols = int(f.readline())
    #читаем построчно матрицу    
    for r in range(rows):
        for c in range(cols):
            a = float(f.readline())
            if rows == r+c:
                 b = minFileMatr(pat, name)                 
                 print("%7.3f" % b,a, end=' ') # вывод элемента матрицы по формату
            print() # перевод курсора на новую строку.
    f.close()           
 
print(replMatr(rows, cols, pat, name))
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.04.2022, 13:30
Ответы с готовыми решениями:

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

Представление команды в HEX формате
Как команду вместе с операндами перевести в HEX формат, и обратно?

Представление чисел в формате HEX
Подскажите, пожалуйста, как в коде шестнадцатеричные числа нужно писать? Думал, что 0xFF или FFh, но так не работает... Visual Studio 2008,...

3
 Аватар для VistaSV30
988 / 332 / 79
Регистрация: 10.04.2012
Сообщений: 1,245
Записей в блоге: 4
20.04.2022, 13:44
Замена элементов матрицы
Python
1
2
3
4
5
6
7
8
9
10
11
import numpy as np
 
np.random.seed(100)
n = 10 # размер матрицы
a = np.random.randint(1, 10, size = (n, n))
print(a)
 
m = min([a[n-i-1,i] for i in range(n)])  # минимальный элемент пообочной диагонали
for i in range(n): a[n-i-1,i] = m
    
print(a)
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,318
20.04.2022, 14:17
VistaSV30,
Python
1
2
3
4
5
6
7
8
9
10
11
12
import numpy as np
 
np.random.seed(100)
n = 10 
a = np.random.randint(1, 10, size = (n, n))
print(a)
 
#######################
np.fill_diagonal(np.fliplr(a), a.min())
#######################
 
print(a)
1
 Аватар для VistaSV30
988 / 332 / 79
Регистрация: 10.04.2012
Сообщений: 1,245
Записей в блоге: 4
20.04.2022, 14:58
Gdez, спасибо! Не знал про такую возможность!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.04.2022, 14:58
Помогаю со студенческими работами здесь

Представление даты в человеческом формате
Есть ли в .NET такая штука, которая может выдавать дату по человечески, например 'вчера', 'сегодня', 'завтра' 'на прошлой неделе'... или...

Представление числа в разном формате
как можно представить числа, например 2, в формате 2.0 или 2.00, нужна для предсталения числа в виде таблицы

Представление типа данных в HEX формате
Есть hex строка данных. Проанализировав ее понял, что 0x08 - дальше идут строковые данные 0x12 - дальше идет число Еще там есть...

Представление двоичного числа в формате слова
Здравствуйте. Помогите пожалуйста с решением. Нужно представить двоичные числа как положительные целые числа в формате слова (16 разрядов,...

Представление дробного числа в формате IEEE 754
Где-то ошибся при сложении, но в упор не вижу ошибки. В первом сдвинул порядок у 2/3 на 11, мантиссу тоже сдвинул. Во втором сдвинул...


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

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

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru