Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Пара задач, Pascal (двумерный массив, геометрия)

55K
10 декабря 2009 года
Rainy
1 / / 10.12.2009
Доброго времени суток, уважаемые форумчане. Необходима помощь в решении задач (Pascal) и довольно срочно...

1. Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик (должно работать с двумя матрицами с разным количеством строк и столбцов).

Также к этой задаче имеется недописанный код:

Код:
program matr;
uses crt;
type Matr=array[1..20,1..20] of integer;
     Mas=array[1..20] of integer;
var A,B: Matr;
    A1,B1: Mas;
    i,j,n1,m1,n2,m2,min,im,k: integer;
   
procedure Vvod_Matr(var A: Matr;
                    m,n: integer);
    var i,j:integer;
    begin
     for i:=1 to m do
       for j:=1 to n do
             read(A[i,j])
    end;
   
procedure Charact(X: Matr;
                  var C1:Mas;
                  m,n: integer);
    var ch,i,j: integer;
    begin
    for j:= 1 to n do
     begin
     ch:=0;
      for i:= 1 to m do
        if (X[i,j]<0) and odd(X[i,j]) then
        ch:=ch+abs(X[i,j]);
        C1[j]:=ch;
     end;
    end;
     

procedure Sort(var X:Matr;
               var C1:Mas;
               k,m,n:integer);
    var i,min,im,x1,x2,l,t: integer;
    begin
    for i:=1 to n-1 do
      begin
      min:=C1;
      im:=1;
      k:=i;
      for j:=i+1 to n do
        if (min>C1[j]) then
          begin
          min:=C1[j];
          k:=j;
          im:=i
          end;
      x1:=C1[im];
      C1[im]:=C1[k];
      C1[k]:=x1;
      end;
      for i:=1 to m do writeln(C1,' ')
{массив С1 сортируется. Необходимо отсортировать Х}
      end;



procedure Vyvod_Matr(X:Matr;
           m,n:integer);
   var i:integer;
   begin
   for i:=1 to m do
     begin
     for j:=1 to n do
      write(X[i,j],' ');
      writeln
      end
   end;
   
begin
clrscr;
writeln('vvedite razmernost A');
read(m1,n1);
writeln('vvedite A');
Vvod_Matr(A,m1,n1);
Charact(A,A1,m1,n1);
Sort(A,A1,k,m1,n1);
Vyvod_Matr(A,m1,n1);
writeln('vvedite razmernost B');
read(m2,n2);
writeln('vvedite B');
Vvod_Matr(B,m2,n2);
Charact(B,B1,m2,n2);
Sort(B,B1,k,m2,n2);
Vyvod_Matr(B,m2,n2);
end.


2. Определить радиус и центр окружности, на которой лежит наибольшее число точек заданного на плоскости множества точек.

В обоих задачах необходимо оформлять все через процедуры и функции.

Заранее благодарна откликнувшимся ^^
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог