Программа


Program Oksana;
{ Матрица M[N*N], N<=10, элементы целые.
  Для каждой строки набор суммы элементов
  удовлетворяющих условию b<=Mij<=a.
  Формирование из полученных сумм
  вектора X[N]. }
Const MaxN=10;                            { Максимальная размерность матрицы }
Var M:array[1..MaxN,1..MaxN] of integer;  { Матрица }
    X:array[1..MaxN] of integer;          { Вектор }
    N:integer;                            { Размерность матрицы }
    i,j:integer;                          { Счетчик }
    a,b:integer;                          { Параметры условия }
Function Sum(i:integer):integer;          { Вычисление суммы в i-ой строке }
  var SumInt:integer;                     { Переменная для набора суммы }
      k:integer;                          { Счетчик }
  Begin
    SumInt:=0;                            { Обнуление суммы }
    for k:=1 to N do if (b<=M[i,k])and(M[i,k]<=a) then SumInt:=SumInt+M[i,k];
                                 { Просмотр строки матрицы, проверка условия,
                                   при выполнении условия набор суммы }
    Sum:=SumInt                  { Определение значения функции }
  End;
BEGIN
  Writeln;                          { Пропуск строки }
  Write('Введите размерность матрицы ');
                                    { Приглашение ввести размерность матрицы }
  Readln(N);                        { Ввод размерности матрицы }
  for i:=1 to N do                  { Цикл ввода строк матрицы }
    for j:=1 to N do                { Цикл ввода элементов матрицы }
      Begin
        Write('Введите M(',i,',',j,') ');
                                    { Приглашение ввести элемент матрицы }
        Readln(M[i,j])              { Ввод элемента матрицы }
      End;
  Write('Введите параметр условия "b" ');
                                    { Приглашение ввести параметр условия }
  Readln(b);                        { Ввод параметра условия }
  Write('Введите параметр условия "a" ');
                                    { Приглашение ввести параметр условия }
  Readln(a);                        { Ввод параметра условия }
  Writeln;                          { Пропуск строки }
  for j:=1 to N do Write('|-----'); { Вывод верхней черты таблицы по циклу }
  Writeln('|');                     { Вывод правой черты таблицы }
  for i:=1 to N do                  { Цикл вывода строк матрицы }
    Begin
      for j:=1 to N do Write('|',M[i,j]:5); { Цикл вывода вертикальной
                                              разделительной черты таблицы
                                              и элементов матрицы }
      Writeln('|');                         { Вывод правой черты таблицы }
      for j:=1 to N do Write('|-----');     { Цикл вывода горизонтальной
                                              разделительной черты таблицы}
      Writeln('|')                          { Вывод правой черты таблицы }
    End;
  for i:=1 to N do X[i]:=Sum(i);            { Цикл формирования вектора }
  Writeln;                                  { Пропуск строки }
  for j:=1 to N do Write('|-----');   { Вывод верхней черты таблицы по циклу }
  Writeln('|');                       { Вывод правой черты таблицы }
  for i:=1 to N do Write('|',X[i]:5); { Вывод вектора "X" }
  Writeln('|');                       { Вывод правой линии таблицы }
  for j:=1 to N do Write('|-----');   { Вывод нижней черты таблицы по циклу }
  Writeln('|');                       { Вывод правой черты таблицы }
END.


Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию