![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
18192123 |
![]()
Сообщение
#1
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
дан двумерный массив, вывести ту строку, сумма модулей элементов в которой максимальна.
использовать процедуры. я не соображу, как собственно вывести строку и еще... при компиляции появляется ошибка 36 ( отсутствие begin), не знаю, где его пропустила
uses crt;
const n=2;
m=5;
type vect=array[1..n] of real;
matr=array[1..m] of vect;
procedure input(var a:matr);
var
i,j:byte;
begin
writeln ('vvedite elementi dvymernogo massiva');
for i:=1 to n do
for j:=1 to n do
read (a[i,j]);
end;
procedure stroka(a:matr; var:s,s1);
i,j:byte;
max:real;
begin
for i:=1 to n do
for j:=1 to m do
begin
s:=0;
s:=s+abs(a[1,j];
max:=s;
s1:=s1+abs(a[2,j]);
if max<s1 then
writeln ('nyshai stroka:2');
else writeln ('nysnai stroka :1');
writeln ('s=',s:4:1);
writeln ('s1=',s1:4:1); end;
end;
var
a:matr;
begin
input(a);
storka(a,s,s1);
readkey;
end.
|
![]() ![]() |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
это формальный параметр.
вместо него при вызоые подставляется фактический - i. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
18192123 |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
|
18192123 |
![]()
Сообщение
#4
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
большое спасибо! а у меня тут еще один вариант "родился", только, по-моему, где-то напутала с формальными и фактическими параметрами, т.к. программа не идет дальше вывода исходной матрицы...
program zach_6;
uses crt;
const
n = 2;
m = 3;
type
matr= array [1..n, 1..m] of real;
vect=array[1..n] of real;
procedure Input(var a:matr);
var
i, j: Integer;
begin
for i := 1 to n do
for j := 1 to m do begin
write('a[', i, ',', j, ']=');
readln(a[i, j]);
end;
end;
procedure Print(const a:matr);
var
i, j: Integer;
begin
for i := 1 to n do begin
writeln;
for j := 1 to m do write(a[i, j] : 3);
end;
writeln;
end;
procedure modyl(var a:matr; s:vect);
var k,i:1..n;
j:1..m;
t:real;
begin
for i:=1 to n do s[k]:=0;
t:=0;
for k:=1 to n do
for i:=1 to n do begin
for j:=1 to m do begin
s[k]:=abs(a[i,j]);
t:=t+s[k];
end;
s[k]:=t;
end;
end;
procedure poisk (var s:vect;a:matr);
var
k,j:integer;
max:real;
begin
max:=s[1];
for k:=1 to n do
if max<s[k] then for j:=1 to n do writeln (a[k,j])
end;
Var
a:matr; k:integer; t:real;
s:vect;
Begin
clrscr;
input(a);
print(a);
modyl(a,s);
poisk(s,a);
readkey;
end.
Сообщение отредактировано: 18192123 - 15.11.2006 18:31 |
![]() ![]() |
![]() |
Текстовая версия | 1.08.2025 19:07 |