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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 29.01.2011, 19:11   #1
Tifa
Пользователь
 
Регистрация: 21.01.2011
Сообщений: 30
Сообщение ошибка в паскале!

3)Дан двухмерный массив.Найти наименьший отрицательный элемент выше побочной диагонали и наименьший положительный элемент ниже побочной диагонали с указанием их индексов.Создать новый массив,в котором найденные элементы поменяюца местами.
Код:
program progr3;
uses crt;
var n,i,j,imnv,jmnv,imnn,jmnn:byte;
a,b:array [1..40,1..40] of integer;
Begin
clrscr;
writeln('Vvedite razmernost');
readln(n);
imnv:=0;jmnv:=0;imnn:=0;jmnn:=0;
for i:=1 to n do
for j:=1 to n do
 begin
  write('a[',i,',',j,']=');
  readln(a[i,j]);
  if (j<n-i+1)and(a[i,j]<0) then
   begin
    imnv:=i;
    jmnv:=j;
   end;
  if (j>n-i+1)and(a[i,j]>0) then
   begin
    imnn:=i;
    jmnn:=j;
  end;
 end;
clrscr;
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:5);
  writeln;
 end;
if imnv=0 then write('Выше побочной диагонали нет отрицательных элементов')
else if imnn=0 then write('Ниже побочной диагонали нет положительных элементов');
if (imnv=0)or(imnn=0)then write('Обмена элементов нет!')
else
 begin
  for i:=1 to n-1 do
  for j:=1 to n-i do
  if (a[i,j]<a[imnv,jmnv]) and (a[i,j]<0) then
   begin
    imnv:=i;
    jmnv:=j;
   end;
  for i:=2 to n do
  for j:=n-i+2 to n do
  if (a[i,j]<a[imnn,jmnn]) and (a[i,j]>0) then
   begin
    imnn:=i;
    jmnn:=j;
   end;
  writeln('Минимальный отрицательный выше побочной=',a[imnv,jmnv]);
  writeln('Минимальный положительный ниже побочной=',a[imnn,jmnn]);
  writeln('Матрица после обмена минимальных элементов:');
  for i:=1 to n do
   begin
    for j:=1 to n do
     begin
      if (i=imnv)and(j=jmnv)then b[i,j]:=a[imnn,jmnn]
      else if (i=imnn)and(j=jmnn)then b[i,j]:=a[imnv,jmnv]
      else b[i,j]:=a[i,j];
      write(b[i,j]:5);
     end;
    writeln;
   end;
 end;
readln;
End.
...незнаю в чем ошибка...я ваше запуталась помоему она в корне не правельная....помогите разобраца..!(прошу написать уже в испрвленом виде буду очень признательна!)))))))
Tifa вне форума
Старый 29.01.2011, 20:09   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

кросс-пост.
закрыто!


основная тема тут - Найти наименьший отрицательный элемент выше побочной диагонали и наименьший положительный ниже (Pascal)
Serge_Bliznykov вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в паскале! Firea Помощь студентам 1 27.01.2011 00:05
ошибка в паскале T_U_S_U_A Помощь студентам 2 21.01.2011 19:50
Па С++ сделал, а на Паскале ошибка. DanielDefo Паскаль, Turbo Pascal, PascalABC.NET 1 02.04.2010 15:37
ошибка # 205 в Паскале.. ZloyGeniy99 Помощь студентам 9 10.02.2010 23:12
ошибка 207 в Паскале WWWTED Помощь студентам 1 21.12.2009 21:09