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

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

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

 
 Ответить  Открыть новую тему 
> Помогите доделать задачку, Тема: Массивы
сообщение
Сообщение #1





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

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


Помогите доделать задачку...
Условие
Ввести 3 вещественные матрицы a,b,c размером 3 на 5.
Найти максимальные элементы в каждой строке каждой матрицы, произвести вычисление:
z=(|сумма макс. элементов первых строк|+|сумма макс. элементов вторых строк|+|сумма макс. элементов третих строк|)/(|сумма трёх матриц|).
Код
program Pipes;
const n=3,
n=5;
uses crt;
var a,b,c:array [1..30,1..30] of real;
i,j,i2,j2,i1,j1:integer;
s:real;
begin
clrscr;
{Ввод первой матрицы - 3 строки и 5 столбцов}
writeln ('Vvod 1-oi matrix');
for i:=1 to n do
for j:=1 to m do
writeln ('a[',i,j,']=');
readln (a[i,j]);

{Ввод второй матрицы - 3 строки и 5 столбцов}
writeln ('Vvod 2-oi matrix');
for i1:=1 to n do
for j1:=1 to m do
writeln ('b[',i,j,']=');
readln (b[i1,j1]);

{Ввод третьей матрицы - 3 строки и 5 столбцов}
writeln ('Vvod 3-ii matrix');
for i2:=1 to n do
for j2:=1 to m do
writeln ('c[',i,j,']=');
readln (c[i2,j2]);

{Вывод 1-ой матрицы на экран}
writeln ('Vasha 1-ay matrix');
for i:=1 to n do
begin
for j:=1 to m do
write (a[i,j]);
writeln;
end;

{Вывод 2-ой матрицы на экран}
writeln ('Vasha 2-ay matrix');
for i1:=1 to n do
begin
for j1:=1 to m do
write (b[i1,j1]);
writeln;
end;

{Вывод 3-ий матрицы на экран}
writeln ('Vasha 3-iy matrix');
for i2:=1 to n do
begin
for j2:=1 to m do
write (c[i2,j2]);
writeln;
end;

{Сумма трёх матриц}
s:=a[i,j]+b[i2,j2]+c[i3,j3];

{Подсчёт максимального значения в строках в первой матрице}
............................................
............................................
............................................
............................................
{Подсчёт максимального значения в строках во второй матрице}
............................................
............................................
............................................
............................................
{Подсчёт максимального значения в строках в третий матрице}
............................................
............................................
............................................
............................................

{Подсчёт итогового результата}
z:=(abs(....)+abs(....)+abs(....))/abs(s);

writeln ('Итоговый результат',z);
readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


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

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

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


И что кроме вода/вывода больше вообще ничего не смог сделать ? Кстати хочу сказать тебе со сто процентной уверенностью, эту задачу надо решать с использованием подпрограмм.

Советую для начала сходить сюда : FAQ : Массивы, матрицы, типичные задачи


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





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

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


Цитата(klem4 @ 15.02.2006 20:44) *

Советую для начала сходить сюда : FAQ : Массивы, матрицы, типичные задачи

Я там был и ничего для себя не нашел...
Подпрограммы не надо..

Цитата(klem4 @ 15.02.2006 20:44) *

И что кроме вода/вывода больше вообще ничего не смог сделать

не-а

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


Гость






А что надо? Copy+Paste? Один и тот же код 3 раза повторять?

Ты вон уже написал ввод и распечатку для трех матриц... С процедурой то же самое делается в 3 раза проще...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


Цитата(volvo @ 15.02.2006 21:03) *

А что надо? Copy+Paste? Один и тот же код 3 раза повторять?

Ты вон уже написал ввод и распечатку для трех матриц... С процедурой то же самое делается в 3 раза проще...

Так мне кто нить поможет найти максимальное значение в строке.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Type
matrixType = array[1 .. num_of_lines, 1 .. num_of_columns] of double;
...
Function get_max_in_str(const a: matrixType; line: integer): double;
var
i: integer;
max: double;
begin
max := -maxint; // Можно и еще меньше, если надо
for i := 1 to num_of_columns do
if max < a[line, i] then max := a[line, i];
get_max_in_str := max;
end;
ищет в заданной строке заданной матрицы максимальный элемент...
 К началу страницы 
+ Ответить 

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

 





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