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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2009, 21:23   #1
Dog
Пользователь
 
Регистрация: 19.05.2008
Сообщений: 48
Восклицание Паскаль - Матрица

В данной действительной матрице размера n*m поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением. Предполагается, что эти элементы единственны.

код матрицы

Код:
const
  n=5;
  m=5;

var
 a:array[1..n,1..m] of integer;
 i,j,min,max,t,k:integer;
begin
 t:=min;
 k:=max;
randomize;
for I := 1 to n  do    begin
for j := 1 to m  do    begin
  a[i,j]:=random(100);
  write(a[i,j],'  ');
  end;
  writeln;
end;
     writeln('=*==*==*==*==*==*==*==*==*==*==*==*==*=');

   min:=a[1,1];
   max:=a[1,1];

for I := 1 to n  do    begin
for j := 1 to m  do    begin
if min>a[i,j] then
     begin
    min:=a[i,j];
     end;
 if max<a[i,j] then
  begin
  max:=a[i,j];
  end;
  end;
  end;


  writeLn('min= ',min);
  writeLn('max= ',max);
  writeln;
  writeln('Poluchennaya');




  for i:=1 to n do  begin
  for j:=1 to m do
 write(a[i,j],'  ');
 writeln;
 end;
 writeln;
 readln;
end.


1) Как сделать так чтобы элементы мин и мах были единственными?
2) Как строки поменять с этими элементами?

Последний раз редактировалось Stilet; 02.10.2009 в 10:06.
Dog вне форума Ответить с цитированием
Старый 01.10.2009, 22:59   #2
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

ну вот есть программа такая. Пристроить её к твоей как делать нефиг:
Код:
program tt;
const n=3;m=4;
var b:array[1..n,1..m] of real;i,j,K,L:integer;c:real;
begin
 write('Меняем строку = ');readln(K);
 write('На строку = ');readln(L);
 for i:=1 to n do
  begin
   write(i,'-я строка таблицы: ');
   for j:=1 to m do
    read(b[i,j]);
  end;
 {перестановка строк}
 for j:=1 to m do
  begin
   c:=b[K,j];
   b[K,j]:=b[L,j];
   b[L,j]:=c;
  end;
 for i:=1 to n do
  begin 
   for j:=1 to m do
    write(b[i,j]:3);
   writeln;
  end;
end.
Я зделал всё в одном. Вроде вот так должно быть:
Код:
program tt;
const n=5;m=5;
var
 a:array[1..n,1..m] of integer;
 i,j,min,max,t,K,L:integer;c:integer;
begin
 t:=min;
 randomize;
 for I := 1 to n do begin
  for j := 1 to m do begin
   a[i,j]:=random(100);
  write(a[i,j],' ');
 end;
 writeln;
 end;
 writeln('=*==*==*==*==*==*==*==*==* ==*==*==*==*=');
 min:=a[1,1];
 max:=a[1,1];
 for I := 1 to n do begin
  for j := 1 to m do begin
   if min>a[i,j] then
    begin
     min:=a[i,j];
    end;
 if max<a[i,j] then
  begin
   max:=a[i,j];
   end;
  end;
 end;
 writeLn('min= ',min);
 writeLn('max= ',max);
 writeln;
 write('Меняем строку = ');readln(K);
 write('На строку = ');readln(L);
 for j:=1 to m do
  begin
   c:=a[K,j];
   a[K,j]:=a[L,j];
   a[L,j]:=c;
  end;
 for i:=1 to n do
  begin
   for j:=1 to m do
    write(a[i,j],' ');
   writeln;
  end; 
 writeln;
 readln;
end.
А как понять:
Код:
1) Как сделать так чтобы элементы мин и мах были единственными?
Как я понял можно зделать только так, что если такое число уже есть в массиве то его вводить нельзя

Последний раз редактировалось kakawkin; 01.10.2009 в 23:10.
kakawkin вне форума Ответить с цитированием
Старый 02.10.2009, 10:09   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как сделать так чтобы элементы мин и мах были единственными?
Ну при вводе матрицы запоминай экстремумы, проверяя есть ли такой, если есть - проси пользователя переввести элемент.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль матрица!!!!! Igomax Помощь студентам 3 07.06.2009 16:20
матрица паскаль telle Помощь студентам 2 28.05.2009 01:01
Паскаль матрица Азарт Помощь студентам 3 13.04.2009 16:55
Матрица (Паскаль) Freia Помощь студентам 2 19.12.2008 21:37
Паскаль. Матрица delphin100 Помощь студентам 3 19.11.2007 21:43