Новые сообщения · Правила  
Страница 1 из 11
Модератор форума: Berestovskiy 
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Паскаль!
Паскаль!
3)Дан двухмерный массив.Найти наименьший отрицательный элемент выше побочной диагонали и наименьший положительный элемент ниже побочной диагонали с указанием их индексов.Создать новый массив,в котором найденные элементы поменяюца местами.
незнаю как решить ее ....решите пожалуста я вас умоляю сегодня мнеее здавать!!!....(((
1 | Автор: Tifa | 2011-01-30, 18:02   |  Репутация: [ + 0 ]
1 | Автор: Tifa | 2011-01-30, 18:02   |  Репутация: [ + 0 ]
Code
Uses Crt;
Var
   Mas, NewMas: array[1..100,1..100] of integer;
   n,i,j, Upi, Upj, Downi,Downj, MinUp,MinDown: integer;
Begin

   clrscr;
   writeln(' введите размерность массива');
   Readln(n);
     Randomize;
     writeln('Ваш массив:');

     For i:=1 to n do
     begin
       for j:=1 to n do
       begin
         mas[i,j]:= random(5) - random(7);
         write(mas[i,j],' ');
       end;
     writeln;
     end;

     MinUp:=0;
     MinDown:= 5;

     For i:=1 to n do
       For j:=1 to n do
       begin
          if i+j<n+1 then
            begin
             if mas[i,j]<MinUp then
             begin
               MinUp:=mas[i,j];
               Upi:=i;  Upj:=j;
             end;
            end;

         

Добавлено (30.01.11, 23:04)
---------------------------------------------

Code

   if i+j>n+1 then
            begin
              if (mas[i,j]>0) and (mas[i,j]< MinDown) then
              begin
                MinDown:=mas[i,j];
                Downi:=i; Downj:=j;
              end;
            end;
       end;
     writeln('Наименьший отрицательный элемент выше побочной диагонали = ',MinUp,'-Mas[',Upi,',',Upj,']');
     writeln('Наименьшийположительный элемент ниже побочной диагонали=',MinDown,'-Mas[',Downi,',',Downj,']');

     For i:=1 to n do
       For j:=1 to n do
       NewMas[i,j]:=Mas[i,j];

     NewMas[Upi,Upj]:=MinDown;
     NewMas[Downi,Downj]:=MinUp;

     writeln('Новый массив:');

      For i:=1 to n do
     begin
       for j:=1 to n do
       begin
         write(NewMas[i,j],' ');
       end;
     writeln;
     end;

   readkey;
End.
2 | Автор: -Ali- | 2011-01-30, 23:04   |  Репутация: [ + 3 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Паскаль!
Страница 1 из 11
Поиск: