Помощь - Поиск - Пользователи - Календарь
Полная версия: Упорядочить
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
piplkall
Спасибо вам большое, volvo вы меня просто спасаете. Я бы не стал вас отвлекать от ваших дел, просто так сложилась ситуация. Мне надо к завтрашнему дню много задач сделать, а со всеми я сам разобраться не успел, т.к. у нас проходит сессия и экзамены через день, не успеваю готовиться.

Дано: целочисленные матрица А[1:n,1:m] и массив B[1:r].
Упорядочить по убыванию те столбцы матрицы А, все элементы которых
присутствуют в массиве В.

Кстате пытался воспользоваться поиском, 404 ошибка.
volvo
Цитата(piplkall @ 5.02.05 1:51)
Кстате пытался воспользоваться поиском, 404 ошибка.

Кстати, на главной странице форума есть форма быстрого поиска (там, где написано "Введите слово для поиска") - этой формой я пользовался 3 минуты назад... Да и основная форма тоже работает...

И пожалуйста, задачи подходящие по определению одна к другой - постите вместе...
piplkall
Я не нашёл похожей задачи.
klem4
Не оч понял чо упорядочивать надо, но если по логике, то так :

uses crt;
const
   r=5;
   n=3;
   m=4;
var
   x:array[1..n,1..m] of integer;
   b:array[1..r] of integer;
   i,j,k,p:integer;
   flag:boolean;

procedure sort;
var
   flagsort:boolean;
   t:integer;
begin
   repeat
      flagsort:=true;
      for i:=1 to n-1 do
       if not(x[i,j]<=x[i+1,j]) then
        begin
           t:=x[i,j];
           x[i,j]:=x[i+1,j];
           x[i+1,j]:=t;
           flagsort:=false;
        end;
   until flagsort;
end;



Begin
   clrscr;

   for i:=1 to r do
    begin
       write('b[',i,']=');
       readln(b[i]);
    end;
   writeln;
   for i:=1 to n do
    for j:=1 to m do
     begin
        write('x[' ,i, ',' ,j, ']=');
        readln(x[i,j]);
     end;
   writeln;

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

   for j:=1 to m do
    begin
       p:=0;
       for i:=1 to n do
        for k:=1 to r do
         if b[k]=x[i,j] then
          begin
             inc(p);
             if p=n then sort;
             break;
         end;
   end;
    writeln;
    for i:=1 to n do
    begin
       for j:=1 to n do
        begin
           write(x[i,j]);
           write(' ');
        end;
       writeln;
    end;
readln;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.