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

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

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

> Помогите написать функцию сравнения
FiReDoGGi
сообщение 26.12.2007 23:36
Сообщение #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 - 27.12.2007 23:59
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Feagor
сообщение 27.12.2007 20:21
Сообщение #2


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

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

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


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


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

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


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

 



- Текстовая версия 20.07.2025 14:15
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"