Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2008, 14:21   #1
Seriy8888
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 16
По умолчанию Помогите найти ошибку!(Procedure)

Дана матрица А(5,3)
1)Создать новый одномерный массив, каждый элемент которого равен среднему арифметическому элементов соответствующей строки данной матрицы.
2)Найти наименьший элемент 3-го столбца.
3)Поменять местами наименьший элемент 3-го столбца и элемент а23.

Программа:
Program Laba3;
type
ta=array[1..5,1..3] of real;
tc=array[1..5] of real;
var
a:ta;
c:tc;
r,s:real;
i,j,imin,jmin:integer;
amin:real;
Procedure WWOD(a:ta;m,n:integer);
begin
for i:=1 to m do
for j:=1 to n do
read(a[i,j]);
end;
Procedure WIWOD(x:ta;m,n:integer);
begin
for i:=1 to m do
begin
for j:=1 to n do
write (a[i,j]:8:0);
writeln;
end;
end;
Procedure Sum(x:ta;m,n:integer;var s:real);
begin
for i:=1 to 5 do
begin
s:=0;
for j:=1 to 3 do
s:=(s+a[i,j]);
c[i]:=s/3;
end;
for i:=1 to 5 do
writeln(c[i]:8:0);
end;
Procedure Am(a:ta;m,n:integer);
begin
amin:=exp(10*ln(10));
for i:=1 to 5 do
begin
j:=3;
if amin>a[i,j] then
begin
amin:=a[i,j];
imin:=i;
jmin:=3;
end;end;
r:=a[imin,jmin];
a[imin,jmin]:=a[2,3];
a[2,3]:=r;
end;
begin
writeln('vvedi matricy A');
WWOD (a,5,3);
Writeln('matrica A');
WIWOD(a,5,3);
Sum (a,5,3,s);
writeln ('s=',s:8:0);
writeln('amin=',amin:8:0);
end.
Seriy8888 вне форума Ответить с цитированием
Старый 16.12.2008, 14:13   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
Program Laba3;
uses crt;
type
 ta=array[1..5,1..3] of real;
 tc=array[1..5] of real;

var a:ta;
    c:tc;
    r,s:real;
    i,j,imin,jmin:integer;
    amin:real;

Procedure WWOD(var a:ta;m,n:integer);
begin
 for i:=1 to m do
  for j:=1 to n do
   read(a[i,j]);
end;

Procedure WIWOD(x:ta;m,n:integer);
begin
  for i:=1 to m do
   begin
    for j:=1 to n do
    write (x[i,j]:8:0);
    writeln;
  end;
end;

Procedure Sum(x:ta;m,n:integer;var s:real);
begin

for i:=1 to 5 do
begin
s:=0;
for j:=1 to 3 do
s:=s+x[i,j];
c[i]:=s/3;
end;
for i:=1 to 5 do
writeln(c[i]:6:3);
end;

Procedure Am(var a:ta;m,n:integer);
begin
imin:=1;
 for i:=2 to 5 do
   if a[imin,3]>a[i,3] then imin:=i;
r:=a[imin,3];
writeln('amin=',r:4:0);
a[imin,3]:=a[2,3];
a[2,3]:=r;
end;

begin
clrscr;
writeln('vvedi matricy A');
WWOD (a,5,3);
clrscr;
Writeln('matrica A');
WIWOD(a,5,3);
Sum (a,5,3,s);
Am(a,5,3);
WIWOD(a,5,3);
writeln ('s=',s:4:0);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку ( с++ ) JOFRIF Помощь студентам 10 23.05.2008 14:34
Помогите найти ошибку JOFRIF Помощь студентам 8 22.04.2008 14:22
Помогите найти ошибку KnDmPetr Паскаль, Turbo Pascal, PascalABC.NET 1 11.04.2008 15:48
help!!! Помогите найти ошибку!!! linker13 Общие вопросы Delphi 2 07.07.2007 23:15