Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

поиск максимального элемента и упорядочение элементов

23K
01 июня 2007 года
lenidleo
3 / / 23.12.2006
Помогите доделать программу:

Задан двумерный массив А. Определить среднее значение элементов каждой строки, занести найденные значения в одномерный массив В. Определить максимальное значение из найденных средних значений и соответствующую ему строку. Упорядочить элементы этой строки по возрастанию. Вывести все результаты на экран. Для определения среднего значения, максимума и сортировки составить подпрограммы.
Массив А:
3 6 -2 1
8 1 4 0
0 2 -3 -5
-1 4 8 2
6 -6 -2 1


Код:
program zzz;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
    mass1=array[1..5,1..4] of real;
    mass2=array[1..5] of real;
const
    a:mass1=((3,6,-2,1),(8,1,4,0),(0,2,-3,-5),(-1,4,8,2),(6,-6,-2,1));
var
     b:mass2;
     i,j:integer;
     bmax,lmax:real;
     imax:integer;
     asort:mass1;
procedure sred(a1:mass1;var b1:mass2);
   var
     k,l:integer{k nomer stroki, l nomer ctolbca} ;

begin
    for k:=1 to 5 do
    begin
      b1[k]:=a1[k,1];
    for l:=2 to 4 do
      b1[k]:=b1[k]+a1[k,l];
      b1[k]:=b1[k]/4;
end;
end;
  procedure max(b1:mass2;var m:real;var lmax:integer);
  var l:integer;
  begin
  m:=b1[1];
  lmax:=1;
  for l:=2 to 5 do
  if b1[l]>m then
  begin
   m:=b1[l];
   lmax:=l;
   end;
   end;

procedure sort(lmax:integer; var a1:mass1; a2:mass1) ;
 var l,k:integer;
 q:real;
 begin
 a1:=a2;
 for k:=2  to 5 do
 for l:=5 downto k do
 if a1[lmax,l-1]>a1[lmax,l] then
 begin
 q:= a1[lmax,l-1];
 a1[lmax,l-1]:=a1[lmax,l];
 a1[lmax,l]:=q;
 end;
 end;

   begin
   sred(a,b);
   for i:=1 to 5 do
   writeln (b:3:1);
   readln;

end.


[color=red]Для оформления кода используй теги [ code ] [/ code ]. Модератор.[/color]
257
02 июня 2007 года
kosfiz
1.6K / / 18.09.2005
извини, но весь код смотреть лень. в чем у тебя проблема-то? что именно из задания не получается?
23K
02 июня 2007 года
lenidleo
3 / / 23.12.2006
Программа не дописана. При запуске она выводит на экран только средние значения строк. надо еще найти максимальный элемент из этих средних значений и в какой строке он находится изатем упорядочить эту строку повозрастанию. нужно добавить вывод этих результатов на экран.
257
02 июня 2007 года
kosfiz
1.6K / / 18.09.2005
Код:
program zzz;

{$APPTYPE CONSOLE}

uses
        SysUtils;

type
        mass1=array[1..5,1..4] of real;
        mass2=array[1..5] of real;

const
        a:mass1=((3,6,-2,1),(8,1,4,0),(0,2,-3,-5),(-1,4,8,2),(6,-6,-2,1));

var
        b:mass2;
        i,j:integer;
        bmax:real;
        imax:integer;
        asort:mass1;

procedure sred(a1:mass1;var b1:mass2);
var
        k,l:integer;
begin
for k:=1 to 5 do
        begin
                b1[k]:=a1[k,1];
                for l:=2 to 4 do
                        b1[k]:=b1[k]+a1[k,l];
                b1[k]:=b1[k]/4;
        end;
end;

procedure max(b1:mass2;var m:real;var lmax:integer);
var
        l:integer;
begin
m:=b1[1];
lmax:=1;
for l:=2 to 5 do
        if b1[l]>m then
                begin
                        m:=b1[l];
                        lmax:=l;
                end;
end;

procedure sort(lmax:integer; var a1:mass1; a2:mass1) ;
var
        l,k:integer;
        q:real;
begin
a1:=a2;
for k:=1  to 4 do
        for l:=k to 4 do
                if a1[lmax,k]>a[lmax,l] then
                        begin
                                q:= a1[lmax,l];
                                a1[lmax,l]:=a1[lmax,k];
                                a1[lmax,k]:=q;
                        end;
end;

begin
sred(a,b);
for i:=1 to 5 do
        writeln (b:3:2);
writeln;
max(b,bmax,imax);
writeln(bmax:2:2);
writeln;
writeln(imax);
writeln;
sort(imax,asort,a);
for i:=1 to 5 do
        begin
                for j:=1 to 4 do
                        write(' ',asort[i,j]:2:2);
                writeln;
        end;
readln;
end.
23K
02 июня 2007 года
lenidleo
3 / / 23.12.2006
Спасибо! То что надо!!!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог