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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2011, 18:44   #1
Ildar_Yunusov
 
Регистрация: 10.01.2011
Сообщений: 4
Восклицание Двумерный массив

вот задача
Числовые значения переменных x и y задаются по вводу. Найти первые по возрастанию номеров строк элементы, имеющие минимальные и максимальные значения, напечатать их значения и номера индексов. Поменять местами элементы строк, которым принадлежат найденные элементы. Напечатать исходную и преобразованную матрицу.

люди помогите найти недочеты в коде
Код:
program lab_10;
uses crt;
var
a:array[1..5,1..6] of single;
x,y,buf,max,min:single;
i,j,ifact,p,q,f,kl:integer;
begin
clrscr;
write ('x=');
readln (x);
write ('y=');
readln (y);
for i:=1 to 5 do
  begin
    for j:=1 to 6 do
    begin
      if (i+j) > 3 then  a[i,j]:=ln(j*exp((x-y)/2))+exp(i*ln(x))
                   else begin
                          ifact:=0;
                          for f:=i downto 1 do begin ifact:=ifact+f end;
                          a[i,j]:=x+exp(i*ln(x))/ifact;
                        end;
    end;
  end;
  writeln('Isxodnaya matrica');
for i:=1 to 5 do
begin
   for j:=1 to 6 do
   begin
     write(a[i,j]:5:3,' ');
   end;
   writeln;
end;




a[1,1]:=max; p:=1;
for k:=2 to 5 do
   begin
   if a[k,1]>max then begin a[k,1]:=max; p:=k; end;
   end;
writeln('max=',max:5:3,' nomer stroki =',p:1);

a[1,1]:=min; q:=1;
for k:=2 to 5 do
   begin
   if a[k,1]<min then begin a[k,1]:=min; q:=k; end;
   end;
writeln('min=',min:5:3,' nomer stroki =',q:1);





for j:=1 to 6 do
begin
  buf:=a[q,j];
  a[q,j]:=a[p,j];
  a[p,j]:=buf;
end;

  writeln('Poluchennaya matrica');
for i:=1 to 5 do
begin
   for j:=1 to 6 do
   begin
     write(a[i,j]:5:3,' ');
   end;
   writeln;
end;
readln;
END.
Ildar_Yunusov вне форума Ответить с цитированием
Старый 11.01.2011, 19:26   #2
k0tone
Пользователь
 
Аватар для k0tone
 
Регистрация: 09.11.2010
Сообщений: 99
По умолчанию

Вот немного поправил твой код:
Код:
program lab_10;

uses
  crt;

var
  a:array[1..5,1..6] of single;
  x,y,buf,max,min:single;
  i,j,k,ifact,p,q,f,kl:integer;

begin
clrscr;
write ('x=');
readln (x);
write ('y=');
readln (y);

for i:=1 to 5 do
  begin
    for j:=1 to 6 do
      if (i+j)>3 then a[i,j]:=ln(j*exp((x-y)/2))+exp(i*ln(x))
        else
          begin
            ifact:=0;
            for f:=i downto 1 do begin ifact:=ifact+f end;
            a[i,j]:=x+exp(i*ln(x))/ifact;
          end;
  end;

writeln('Isxodnaya matrica');
for i:=1 to 5 do
  begin
    for j:=1 to 6 do write(a[i,j]:9:3);
    writeln;
  end;



max:=a[1,1];
p:=1;
for k:=2 to 5 do
  if a[k,1]>max then
    begin
      max:=a[k,1];
      p:=k;
    end;
writeln('max=',max:5:3,' nomer stroki =',p:1);



min:=a[1,1];
q:=1;
for k:=2 to 5 do
  if a[k,1]<min then
    begin
      min:=a[k,1];
      q:=k;
    end;
writeln('min=',min:5:3,' nomer stroki =',q:1);



for j:=1 to 6 do
  begin
    buf:=a[q,j];
    a[q,j]:=a[p,j];
    a[p,j]:=buf;
  end;



writeln('Poluchennaya matrica');
for i:=1 to 5 do
  begin
    for j:=1 to 6 do write(a[i,j]:9:3);
    writeln;
  end;

readkey;
end.
P.S. но всё равно не могу понять сути в...
Цитата:
Найти первые по возрастанию номеров строк элементы, имеющие минимальные и максимальные значения
Можешь разъяснить по точнее? Потому что, как мне кажется, программа не до конца правильна...
Если я вам помог - нажмите на весы пот аватаркой!
k0tone вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив Fominho Помощь студентам 2 07.12.2010 20:24
Двумерный массив, С# ~Mi@mi~ Помощь студентам 4 02.11.2010 19:05
двумерный массив mawrick Помощь студентам 0 16.07.2010 18:24
Двумерный массив dota-rulit Общие вопросы C/C++ 2 12.01.2010 15:34
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40