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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2008, 19:24   #1
танечка155
 
Регистрация: 19.11.2008
Сообщений: 3
По умолчанию Поменять местами 3-ю и 4-ую строки массива

Не знаю, я наверное совсем не разбираюсь в Паскале. Сижу и даже не могу начать.
Очень нужна ваша помощь.

Пусть B - двумерный массив целых чисел размерности N x N. Ввести его. Поменять местами:

а) Максимальный из отрицательных элементов и минимальный из
четных элементов;
б) 3-ю и 4-ую строки массива;

в) Столбцы с максимальным и минимальным модулем суммы
элементов.
танечка155 вне форума Ответить с цитированием
Старый 19.11.2008, 19:56   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
uses crt;
const b=5;

var a:array[1..b,1..b] of integer;
    i,j:integer;

procedure MaxMin;
var i,j,max,x,y,min,l,r,temp:integer;
begin
 max:=-100;x:=y;y:=0;

 for i:=1 to b do
  for j:=1 to b do
   if a[i,j]<0 then  if a[i,j]>max then  begin
                       max:=a[i,j];x:=i;y:=j;
                     end;
 min:=100;l:=0;r:=0;
 for i:=1 to b do
  for j:=1 to b do
   if a[i,j] mod 2=0 then  if a[i,j]<min then  begin
                       min:=a[i,j];l:=i;r:=j;
                     end;
temp:=a[x,y];
a[x,y]:=a[l,r];
a[l,r]:=temp;
writeln;
for i:=1 to b do
 begin
 writeln;
 for j:=1 to b do
   write(a[i,j],' ');
  end;
end;

procedure Chstr;
var j,temp:integer;
begin
for j:=1 to b do
 begin
  temp:=a[3,j];
  a[3,j]:=a[4,j];
  a[4,j]:=temp;
 end;
for i:=1 to b do
 begin
 writeln;
 for j:=1 to b do
   write(a[i,j],' ');
  end;
end;

procedure Modul;
var x:array[1..b] of integer;
    i,j,sum,max,min,l,r:integer;
begin
 for i:=1 to b do
  begin
   sum:=0;
   for j:=1 to b do
    sum:=sum+a[j,i];
   x[i]:=sum;
  end;
  max:=abs(x[1]);
  min:=abs(x[1]);
  l:=1;r:=1;
  for i:=2 to b do
   if abs(x[i])>max then begin
                          max:=abs(x[i]);
                          l:=i;
                         end
      else if abs(x[i])<min then begin
                                 min:=abs(x[i]);
                                 r:=i;
                                 end;
writeln;
writeln('--------');
  for i:=1 to b do
   begin
    write(a[i,l],' ');
    write(a[i,r],' ');
    writeln;
   end;
end;

begin
 clrscr;
 randomize;
 for i:=1 to b do
 begin
 writeln;
  for j:=1 to b do
  begin
   a[i,j]:=random(10)-5;
   write(a[i,j],' ');
  end;
 end;
MaxMIn;
CHStr;
Modul;


end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 28.11.2008, 19:07   #3
танечка155
 
Регистрация: 19.11.2008
Сообщений: 3
По умолчанию

Спасибочки большое, очень помогли
танечка155 вне форума Ответить с цитированием
Старый 23.11.2010, 21:52   #4
сано
Новичок
Джуниор
 
Регистрация: 23.11.2010
Сообщений: 1
По умолчанию

помогите !! нужно поменять местами в массиве 4 на 4 четные и нечетные строчки и вывести на экран
сано вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поменять строки местами? ar. Microsoft Office Word 1 05.09.2008 11:36
поменять местами столбцы veter_s_morya SQL, базы данных 4 29.06.2008 13:36
Поменять местами две половины массива, сохраняя их порядок. Леди Уинтер Помощь студентам 11 09.01.2008 09:21
Поменять местами строки в memo Бублик Помощь студентам 5 18.11.2007 15:27
Как поменять строки в текстовом файле местами _ares_ Помощь студентам 8 13.11.2007 02:14