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

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

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

 
 Ответить  Открыть новую тему 
> Помогите написать функцию сравнения
сообщение
Сообщение #1





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

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


Функция sravnenie должна сравнивать произведение матрицы с заданным числом k, помогите мне ее написать... функция должна возвращать логическое значение после чего производится сортировка...

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


Вот

function sravnenie(const ms: tvector;var k:integer): boolean;
var
d: integer;
i, j: integer;
begin
i:=ms[n,1];
For j:=1 to m-1 do
i=i*ms[n,j+1];
begin
if i<k then do
sravnenie:=(i = n + 1);
end;




А вот сама прога


program laba5;
Uses crt;

const
size_row = 10; { число строк }
size_col = 10; { число столбцов }

type
tvector = array[1 .. size_col] of integer;
tmatrix = array[1 .. size_row] of tvector;


var
mx: tmatrix;
i, j: integer;
n, m: integer;
NN, MM: integer;
k:integer;

procedure sort(var ms: tvector; n, m: integer);
var i, j, T: integer;
begin
for i := 1 to n do
for j := n downto i + 1 do
if ms[j - 1] < ms[j] then begin
T := ms[j - 1]; ms[j - 1] := ms[j]; ms[j] := T
end
end;




function sravnenie(const ms: tvector;var k:integer): boolean;
var
d: integer;
i, j: integer;
begin
i:=ms[n,1];
For j:=1 to m-1 do
i=i*ms[n,j+1];
begin
if i<k then do
sravnenie:=(i = n + 1);
end;




begin
clrscr;
NN:=size_row;
MM:=size_col;

writeln('Упорядочить по убыванию элементы тех строк матрицы,');
writeln('в которых произведение элементов меньше заданного числа.');


writeln('Введите число');
readln(k);

{ Заполнение матрицы }
repeat
write('Введите количество строк: '); readln(N)
until (n>0) and (n<=NN);
repeat
write('Введите количество столбцов: '); readln(m)
until (m>0) and (m<=MM);
For i:=1 to n do
begin
For j:=1 to m do
begin
write('mx[',i,j,']= ');
readln(mx[i,j])
end
end;

{ Матрица до обмена }
writeln('до:');
for i := 1 to n do
begin
for j := 1 to m do
write(mx[i,j]:4);
writeln
end;

{ цикл с проверкой и сортировкой }
for i := 1 to n do
if sravnenie(mx[i]) then sort(mx[i], m, n);




{ Матрица после обмена }
writeln('после:');
for i := 1 to n do
begin
for j := 1 to m do
write(mx[i,j]:4);
writeln
end;
end.


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


ыыыыщщщщщщыыыы
**

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

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


млин не понятно где у тебя что, помести коды в теги


--------------------
Никогда не задавайте вопрос, если не уверены, что хотите получить ответ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Круто... Мне вот например непонятно, что значит:
Цитата
сравнивать произведение матрицы с заданным числом k
Это как так? Произведение матрицы на что? Или имелось в виду произведение элементов матрицы?
 К началу страницы 
+ Ответить 

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

 





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