IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Набор квадратных матриц
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


Здравствуйте!
Я первокурсник с Мат-Меха (УрГУ). Помогите плиз с задачкой. Буду очень признателен))

Задача:
Дан набор квадратных матриц. Проверить является ли Абелевой группой.

Нужно написать процедуры:
1. Ввод матрицы.
2. Печать матрицы.
3. Сложение каких-то матриц из этого набора.
4. Умножение каких-то матриц из этого набора.
5. Проверка на равенство каких-то двух матриц из набора.
6. Замкунутость относительно сложения.
7. Замкнутость относительно умножения.
8. Является ли Абелевой группой по умножению.
9. Какая-нибудь матрица из набора является единичной или нет.
10. Произведение каких-нибудь двух, равно единичной матрице.

Вот такая большая задача!
Пожалуйста помогите хотя бы с частью процедур (ну 1,2 сам сделал).
Спасибо всем)))

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Есть, но тогда программа получится гораздо менее читаемой, и будет "пожирать" большие объемы памяти. Смотри сам: у тебя матрицы могут быть разного размера, так? Значит, размер надо где-то хранить. Где? В массиве? Угу, я так и думал. А то, что этот массив НИГДЕ не будет использоваться без связи с массивом матриц, это тебе как? Не мешает? Программа должна быть структурированной, а не хранить размеры здесь, а сами матрицы - там...

Теперь по поводу памяти: моя программа не выделает ни одного байта лишней памяти, ибо ты ввел размерность 3*3 - выделяется место ровно на 9 элементов... Можно (но я ОЧЕНЬ не рекомендовал бы такой подход, никогда не учись СРАЗУ писать "костыли", а то, что я тебе сейчас предложу - именно "костыль") сделать так:

const
max_size = 20; { <--- Вот тебе первое ограничение - макс. порядок матрицы }
type
matrix = array[1 .. max_size, 1 .. max_size] of integer;

{ Здесь - второе ограничение: больше 81 матрицы (при заданном выше max_size)
ты в набор не положишь (размер сегмента данных не позволит) }
vector = array[1 .. 20] of matrix;

procedure input(var mx: matrix; var size: integer);
var i, j: integer;
begin
write('size = '); readln(size);
for i := 1 to size do
for j := 1 to size do begin
write('mx[', i, ', ', j, '] = ');
readln(mx[i, j]);
end;
end;

procedure print(const mx: matrix; size: integer);
var i, j: integer;
begin
for i := 1 to size do begin
for j := 1 to size do
write(mx[i, j]:4);
writeln;
end;
end;

var
mx_set: vector;
sizes: array[1 .. 20] of integer;
i: integer;

begin

for i := 1 to 5 do
input(mx_set[i], sizes[i]);

for i := 1 to 5 do begin
writeln('matrix #', i);
print(mx_set[i], sizes[i]);
end;

end.
А теперь посчитай, сколько памяти ты будешь занимать впустую?
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 9:28
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name