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

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

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

> Манипуляции с матрицей, матрица из массивов и действия над ними
-UpRe_ID-
сообщение 4.07.2007 13:35
Сообщение #1


Гость






Тема такова:

берем любую матрицу [2*2].......[10*10]
Приравневаем каждый столбец и строчку к матрице и сравниваем их ....
в моем случае надо сравнить столбцы и выложить их с большего на меньший( в начале идет самый большой столбец потом средний и самый маленький). Для сравнения берем и прировняем каждый столбец к массиву ( складываем числа каждого массиваи сравниваем ( mas2>mas3>mas1 пример )
. вот rolleyes.gif
 К началу страницы 
+ Ответить 
2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
Ответов(1 - 19)
-UpRe_ID-
сообщение 4.07.2007 13:49
Сообщение #2


Гость






Цитата(-UpRe_ID- @ 4.07.2007 13:35) *

Тема такова:

берем любую матрицу [2*2].......[10*10]
Приравневаем каждый столбец и строчку к матрице и сравниваем их ....
в моем случае надо сравнить столбцы и выложить их с большего на меньший( в начале идет самый большой столбец потом средний и самый маленький). Для сравнения берем и прировняем каждый столбец к массиву ( складываем числа каждого массиваи сравниваем ( mas2>mas3>mas1 пример )
. вот rolleyes.gif


Забыл, используем функцию
 К началу страницы 
+ Ответить 
Гость
сообщение 4.07.2007 20:15
Сообщение #3


Гость






Цитата(-UpRe_ID- @ 4.07.2007 13:49) *

Забыл, используем функцию


Ай нид хелп.... плиззз.... mega_chok.gif
 К началу страницы 
+ Ответить 
Гость
сообщение 11.07.2007 10:21
Сообщение #4


Гость






Up,
что никто не знает?

*за вознагрождение
 К началу страницы 
+ Ответить 
volvo
сообщение 11.07.2007 10:23
Сообщение #5


Гость






Цитата
что никто не знает?
При такой постановке вопроса - нет... Из того, что написано в первом посте понять ничего невозможно (в частности, что значит, по-твоему "Приравневаем каждый столбец и строчку к матрице ..."?)

Примеров наглядных тоже нет, так что...
 К началу страницы 
+ Ответить 
Up
сообщение 11.07.2007 10:49
Сообщение #6


Гость






Я объяснил так как ним пояснили.... rolleyes.gif

Дело в том что нужно в матрице любого размера [1...10][1..10] нужно сравнить столбцы и выстроить их с наибольшего к наименьшему...

пример:
196 963
285 преобразуем- получаем 852
374 741

достаточно пояснил? rolleyes.gif
 К началу страницы 
+ Ответить 
Up
сообщение 11.07.2007 11:05
Сообщение #7


Гость






Я объяснил так как ним пояснили.... rolleyes.gif

Дело в том что нужно в матрице любого размера [1...10][1..10] нужно сравнить столбцы и выстроить их с наибольшего к наименьшему...

пример:
196 963
285 преобразуем- получаем 852
374 741

достаточно пояснил? rolleyes.gif
 К началу страницы 
+ Ответить 
volvo
сообщение 11.07.2007 11:28
Сообщение #8


Гость






Вот сама программа (работает на матрице 3*3)... Добавь ввод данных пользователем, и выбор размерности - будет работать так, как тебе нужно:

const
n = 3;
type
matrix = array[1 .. n, 1 .. n] of integer;

procedure sort_column(var ar: matrix; x: integer);
var i, j, T: integer;
begin
for i := 1 To n Do
for j := n downto i + 1 do
if ar[pred(j), x] < ar[j, x] then begin
T := ar[pred(j), x]; ar[pred(j), x] := ar[j, x]; ar[j, x] := T
end
end;

procedure sort_first_row(var ar: matrix);
var i, j, k, T: integer;
begin

for i := 1 To n Do
for j := n downto i + 1 do
if ar[1, pred(j)] < ar[1, j] then

for k := 1 to n do begin
T := ar[k, pred(j)]; ar[k, pred(j)] := ar[k, j]; ar[k, j] := T
end

end;

procedure print(const ar: matrix);
var i, j: integer;
begin

for i := 1 to n do begin
for j := 1 to n do write(ar[i, j]:3);
writeln;
end;

end;

const
a: matrix = (
(1, 9, 6), (2, 8, 5), (3, 7, 4)
);

var i: integer;
begin
for i := 1 to n do
sort_column(a, i);
print(a);

sort_first_row(a);
writeln;
print(a);
end.

 К началу страницы 
+ Ответить 
Гость
сообщение 11.07.2007 14:32
Сообщение #9


Гость






Цитата(-UpRe_ID- @ 4.07.2007 13:35) *

Тема такова:

берем любую матрицу [2*2].......[10*10]
Приравневаем каждый столбец и строчку к матрице и сравниваем их ....
в моем случае надо сравнить столбцы и выложить их с большего на меньший( в начале идет самый большой столбец потом средний и самый маленький). Для сравнения берем и прировняем каждый столбец к массиву ( складываем числа каждого массиваи сравниваем ( mas2>mas3>mas1 пример )
. вот rolleyes.gif



воб ще то я написал что нуно использовать функцию.. nea.gif
 К началу страницы 
+ Ответить 
volvo
сообщение 11.07.2007 15:18
Сообщение #10


Гость






Вообще-то я НЕ ВИЖУ, куда тут запихать функцию, а поскольку ты объясняешь так, как объясняли тебе - то я делаю так, как научили меня: функция должна использоваться тогда, когда надо возвращать результат. Причем, результат одного из перечислимых типов, поскольку тема создана в разделе для Turbo Pascal (т.е., не матрицу, скажем). Что будем возвращать, не подскажешь? Нет? Тогда используй процедуру...
 К началу страницы 
+ Ответить 
Гость
сообщение 11.07.2007 15:41
Сообщение #11


Гость






ок, спб.)
С меня кефир* ;)


только тему еще не надо закрывать.
 К началу страницы 
+ Ответить 
Гость
сообщение 16.07.2007 20:33
Сообщение #12


Гость






Я знаю почему функцию....
потому что задача коллективная.....
МЫ(наша группа) должна написать прогу, которая полностью перебирает матрицу и по строкам и по столбцам..
 К началу страницы 
+ Ответить 
Гость
сообщение 17.07.2007 23:15
Сообщение #13


Гость






Напишите программу и пришлите ее текст на lex0mania@inbox.ru или gu.ru312@inbox.ru
до 17:00 18,06,2007.....
програмка не сложня..... очень даже легкая, мнесдыдно что я такое не могу написать.....
плизз ай нид хелп.

remuneration is guaranteed
 К началу страницы 
+ Ответить 
UpRe_ID
сообщение 17.07.2007 23:20
Сообщение #14


Новичок
*

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

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


пишем в личку
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
UpRe_ID
сообщение 18.07.2007 12:08
Сообщение #15


Новичок
*

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

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


а иожно написать по моей схеме берем матрицу н и м размеров..... потом приравниваем столбец к масиву с помощью функции сравниваем их и выстраиваем по порядку, т. е. с большего на наименьший.....
вот .... Словарный запас в языке паскаля у меня маленький....
ну помогите п-та rolleyes.gif give_rose.gif rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
UpRe_ID
сообщение 19.07.2007 13:37
Сообщение #16


Новичок
*

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

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


 program practic;
type
matrica= array [1..15,1..15] of real;
var a:matrica;
i, j, k, n , m : byte;
b:real;
begin
write ('m=');
readln (m);
write('n=');
readln (n);
for i:=1 to m do
for j:= to n do
begin
write (' a[',i,',',j,']=');
readln (a[i,j]);
end;
writeln(' matrica a');
for i:=1 to m do
begin
for j:=1 to n do
write (a[i,j] , '')
writeln
end;
for j:=1 to n do
for k:=1 m-1 do
for i:=1 to m-k do
if a[i,j]< a[i+1, j] then
begin
b:=a[i,j];
a[i, j];=a[i+1, j];
a[i+1,j];=b;
end;
writeln ('preobrazovanaya matrica a');
for i:=1 to m do
begin
for j:=1 to n do
write (a[i,j], ' ');
writeln;
end;
end.

помогите отыскать лексические ошибки wacko.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 19.07.2007 13:47
Сообщение #17


Гость






Цитата
помогите отыскать лексические ошибки
Ты с синтаксическими сначала разберись...
 К началу страницы 
+ Ответить 
UpRe_ID
сообщение 19.07.2007 21:44
Сообщение #18


Новичок
*

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

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


такс....
такая вот просьба можете сделать так чтоб в праграмме не сисла в столбцах менялись местами , а столбцы.... wink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
UpRe_ID
сообщение 21.07.2007 16:46
Сообщение #19


Новичок
*

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

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


Ай нид хелп,
плизз..!!!! give_rose.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
compiler
сообщение 22.07.2007 14:19
Сообщение #20


Человек
*****

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

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


Цитата
Ты с синтаксическими сначала разберись...
вот это откомпилируется smile.gif
program practic;
type
matrica= array [1..15,1..15] of real;
var
a:matrica;
i, j, k, n , m : byte;
b:real;
begin
write ('m=');
readln (m);
write('n=');
readln (n);
for i:=1 to m do
for j:=1 to n do begin
write (' a[',i,',',j,']=');
readln (a[i,j]);
end;
writeln(' matrica a');
for i:=1 to m do begin
for j:=1 to n do
write (a[i,j] , '');
writeln;
end;
for j:=1 to n do
for k:=1 to m-1 do
for i:=1 to m-k do
if a[i,j]< a[i+1, j] then begin
b:=a[i,j];
a[i, j]:=a[i+1, j];
a[i+1,j]:=b;
end;
writeln ('preobrazovanaya matrica a');
for i:=1 to m do begin
for j:=1 to n do
write (a[i,j], ' ');
writeln;
end;
readln;
read;
end.



--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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