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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2016, 17:59   #1
Korban
Пользователь
 
Регистрация: 02.11.2016
Сообщений: 26
По умолчанию Двумерный массив

Дано матрицу K(O,S). Найти первый и последний, если читать матрицу по столбцам, элементы, значение которых равны значению минимального элемента матрицы, и изменить их значение: первый удвоить, а последний утроить.
Korban вне форума Ответить с цитированием
Старый 02.11.2016, 21:49   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
uses crt;
var k:array [1..100,1..100] of integer;
    o,s,i,j:integer;
    fi,fj,li,lj:integer;
    min: integer;
procedure ReadData;
var i,j:integer;
begin
  write('Input O : ');readln(o);
  write('Input S : ');readln(s);
  randomize;
  for i:=1 to o do
   for j:=1 to s do
    k[i,j]:=-10+random(20);
end;
procedure OutData;
var i,j:integer;
begin
 for i:=1 to o do
  begin
   for j:=1 to s do
    write(k[i,j]:5);
   writeln;
  end;
end;
function FindMin:integer;
var i,j:integer;
    lMin:integer;
begin
  lMin := k[1,1];
  for i:=1 to o do
   for j:=1 to s do
    begin
      if k[i,j]<lMin then lMin:=k[i,j];
    end;
  FindMin:=lMin;
end;

procedure FindPosMin(imMin:integer);
var i,j:integer;
    bFirst:boolean;
begin
  fi:=0;fj:=0;li:=0;lj:=0;
  bFirst:=true;
  for i:=1 to s do
   for j:=1 to o do
    begin
      if k[j,i]=imMin then
        begin
         if (bFirst=True) then
           begin
             fi:=j;fj:=i;bFirst:=false
           end
         else
           begin
             li:=j;lj:=i;
           end;
        end;
    end;
end;
procedure MakeChanges(fMinI,fMinJ,lMinI,lMinJ:integer);
begin
     {fMinI - строка первого минимального }
     {fMinJ - столбец первого минимального}
     {lMinI - строка последнего минимального}
     {lMinJ - столбец последнего минимального}

     { TODO LIST: изменить их значение: первый удвоить, а последний утроить.  }
end;


BEGIN
  ClrScr;
  ReadData;
  OutData;
  min:=FindMin;
  FindPosMin(min);
  writeln('--');
  writeln('Min = ',min);
  writeln('FirstPos: ',fi:4,fj:4);
  writeln('LastPos : ',li:4,lj:4);
  MakeChanges(fi,fj,li,lj);
  OutData;
  Readln;
END.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 02.11.2016, 23:10   #3
Korban
Пользователь
 
Регистрация: 02.11.2016
Сообщений: 26
По умолчанию

Спасибо
Korban вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование в VBA: двумерный массив M на N, нужно создать новый одномерный массив TheAnnihilyator Помощь студентам 1 04.06.2014 09:16
Java: Дан двумерный массив чисел А размером 6х6 и одномерный массив Х из 6-ти чисел. Заменить первые три строки массива A vikysha55 Помощь студентам 1 16.04.2014 10:50
Двумерный массив развернуть в одномерный массив по строкам[QBASIC] TrueStyle777 Помощь студентам 3 29.05.2013 21:56
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40