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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2009, 22:07   #1
hoangvu2005
 
Регистрация: 14.02.2009
Сообщений: 8
По умолчанию программа двумер.мас.

Я составил программу, но не получается, ответы не так как в условие указано. Помогите исправить программу.


Условие задач:
Ввести двумерный массив А(N,M), вывести его.Найти максимум в массиве и далее найти минимум среди элементов той строки и того столбца,где содержится найденный максимум. Поменять пару найденных элементов местами.

Код:
program Lab_5;
var
A:array[1..10,1..15] of integer;
i,j,N,M,max,min,imax,imin,jmax,jmin: integer;
begin
write('N=');readln(N);
write('M=');readln(M);
for i:=1 to N do
 for j:=1 to M do
 begin
 write('A[',i,',',j,']='); readln(A[i,j]);
 end;
 max:=A[1,1];
 imax:=1;
 jmax:=1;
 for i:=1 to N do
  for j:=1 to M do
  begin
   if A[i,j]>max then
   max:=A[i,j];
   imax:=i;
   jmax:=j;
   writeln('max=',max);
  end;
  min:=A[1,jmax];
  begin
  for i:=1 to N do
   if A[i,jmax]<min then
   imin:=i;
   jmin:=jmax;
  for j:=1 to M do
   if A[imax,j]<min then
   imin:=imax;
   jmin:=j;
   writeln('min=',min);

   end;
   A[imax,jmax]:=min;
   A[imin,jmin]:=max;
  for i:=1 to N do
  begin
  for j:=1 to M do
  Write(A[i,j]);
  writeln
  end;
  End.

Последний раз редактировалось hoangvu2005; 18.02.2009 в 22:14.
hoangvu2005 вне форума Ответить с цитированием
Старый 18.02.2009, 22:59   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

hoangvu2005 Вы не там ставите begin'ы.
Отметил, что исправил.
Код:
program Lab_5;
var
A:array[1..10,1..15] of integer;
i,j,N,M,max,min,imax,imin,jmax,jmin: integer;
begin
write('N=');readln(N);
write('M=');readln(M);
for i:=1 to N do
 for j:=1 to M do
 begin
 write('A[',i,',',j,']='); readln(A[i,j]);
 end;

 max:=A[1,1];
 imax:=1;
 jmax:=1;
 for i:=1 to N do
  for j:=1 to M do
   if A[i,j]>max then
   begin
   max:=A[i,j];
   imax:=i;
   jmax:=j;
   writeln('max=',max);
  end;
{writeln('max=',max,'  imax= ',imax,' jmax= ',jmax); }
  min:=A[1,jmax];
  imin := 1;
  jmin := jmax;

  for i:=1 to N do
   if A[i,jmax]<min then
    begin
    imin:=i;
    jmin:=jmax;
    min:=A[i,jmax];
    end;

  for j:=1 to M do
   if A[imax,j]<min then
    begin
    imin:=imax;
    jmin:=j;
    min := A[imax,j];
    end;
    writeln('min=',min);
 {  writeln('min=',min,'  imin= ',imin,'  jmin= ',jmin);   }
{-------}
  {--- для наглядности выведем то, что было ---}
writeln('------');
for i:=1 to N do
 begin
 for j:=1 to M do
  write(A[i,j]:3);
 writeln;
 end;
writeln('------');
A[imax,jmax]:=min;
A[imin,jmin]:=max;
for i:=1 to N do
 begin
  for j:=1 to M do
   Write(A[i,j]:3);
  writeln;
 end;
readln;
End.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.02.2009, 16:32   #3
hoangvu2005
 
Регистрация: 14.02.2009
Сообщений: 8
По умолчанию

WOW. Спасибо большое, вот почему у меня не п олучилось. Спасибо еще раз
hoangvu2005 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа Fartyna3000 Операционные системы общие вопросы 4 06.12.2008 23:39
Одномер. и двумер. массивы(Pascal) xxBOBAHxx Помощь студентам 2 27.10.2008 11:53
Программа ben95 Общие вопросы Delphi 1 04.01.2008 20:52
Программа на С++ natan Помощь студентам 1 23.12.2007 15:59