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

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

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

> Задача на массив, нужна срочно помощь
Lortine
сообщение 3.12.2006 15:52
Сообщение #1


Гость






Вот такая задача... мож есть примеры или идеи у кого.. алгоритымы? .. Буду очень признателен за помощь:

Упорядочить элементы строк матрицы за падением их значений методом обмена.
Найти f(a)-среднее арифмитическое значение элементов в кажом столпце матрицы
F(a)- среднее геометрическое значение
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
Lortine
сообщение 3.12.2006 15:53
Сообщение #2


Гость






ПО условию матрица 5 на 5
 К началу страницы 
+ Ответить 
Lortine
сообщение 3.12.2006 16:02
Сообщение #3


Новичок
*

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

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


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


Хелп плз smile.gif Завтра сдавать....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lortine
сообщение 3.12.2006 16:33
Сообщение #4


Новичок
*

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

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


Код
for k:=1 to n do
          for i:=2 to n do
          for j:=1
          if a[k,j]<a[k,j-1] then
            begin
                 t:=a[k,j]; a[k,j]:=a[k,j-1]
                 a[k,j-1]:=t
                             end;



Попробывал переделать метод сортировки обмена(пузырьковый) одномерного массива для матрицы...


Вопрос в том.. правилен ли метод сортировки
и как правильно оформить процедуру среднего арифметического и геометрического значений чисел столпцов матрицы (уже после сортировки)?

Сообщение отредактировано: Lortine - 3.12.2006 16:50
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lortine
сообщение 3.12.2006 21:15
Сообщение #5


Новичок
*

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

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


Я так понял ответа не дождусь sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 3.12.2006 21:41
Сообщение #6


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Цитата
Я так понял ответа не дождусь sad.gif


Не стоит так драматизировать :))

Вот разбирайся ;)

uses crt;
const
n = 3;

type
TMatrix = array [1..n, 1..n] of Integer;

{
Заполняем матрицу случайными числами
}

procedure Create(var mx: TMatrix);
var
i, j: Integer;
begin
Randomize;
for i := 1 to n do
for j := 1 to n do
mx[i, j] := Random(10);
end;

{
Печатаем матрицу
}

procedure Print(const mx: TMatrix);
var
i, j: Integer;
begin
writeln;
for i := 1 to n do begin
writeln;
for j := 1 to n do write(mx[i, j]:3);
end;
writeln;
end;

{
Сортируем строку матрица с номером row методом "Пузырька"
}

procedure SortRow(var mx: TMatrix; const row: Integer);
var
i, j, T: Integer;
begin
for i := n downto 2 do
for j := 1 to i - 1 do
if mx[row, j] > mx[row, j + 1] then begin
T := mx[row, j];
mx[row, j] := mx[row, j + 1];
mx[row, j + 1] := T;
end;
end;

{
Среднее арифм. столбца col матрицы mx
}

function SA(const mx: TMatrix; const col: Integer): Single;
var
i: Integer;
sr: Single;
begin
sr := 0;
for i := 1 to n do
sr := sr + mx[i, col];
SA := sr / n;
end;

{
Среднее геометр. столбца col матрицы mx
}

function SG(const mx: TMatrix; const col: Integer): Single;
var
i: Integer;
p: Single;
begin
p := 1;
for i := 1 to n do
p := p * mx[i, col];
SG := p;
end;

var
M: TMatrix;
i: Integer;

begin
clrscr;

Create(M);
Print(M);

// сортируем все строки матрицы

for i := 1 to n do
SortRow(M, i);

Print(M);

writeln;

// считаем среднее арифметическое и геометрическое для столбцов

for i := 1 to n do
writeln('i = ', i, ' SA = ', SA(M, i):3:3, ' SG = ', SG(M, i):3:3);

readln;
end.



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lortine
сообщение 3.12.2006 23:58
Сообщение #7


Новичок
*

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

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


good.gif yes2.gif yes2.gif Самый классный форум во всем рунете.!!!!
Пасибки огромное, с меня пиво если увидимся blum.gif
Единственное надо было вывести посортированную матрицу и она должна быть 5 на 5 но с этим я уже справлюсь, надеюсь rolleyes.gif (если не ттяжело можно и подкоректить)

Еще бы блок-схемку к этому чуду... и если есть у кого-то еще вариант решения этом задачки перед спасибо от своей одногрупницы give_rose.gif

ЗЫ... как "спасибо" нажать?

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

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

 



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