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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2017, 18:53   #1
Программистер
Пользователь
 
Регистрация: 12.01.2017
Сообщений: 10
По умолчанию Если в матрице B элемент с максимальным значением (среди всех элементов этой матрицы) лежит на главной диагонали, присвоить начальным элементам последовательности С1, С2, ..., СN

Условие :Дана матрица B из N строк и N столбцов. Если в матрице B элемент с максимальным значением
(среди всех элементов этой матрицы) лежит на главной диагонали, присвоить начальным элементам
последовательности С1, С2, ..., СN
2 значения элементов матрицы, лежащих выше главной диагонали,
а остальным элементам этой последовательности – значения прочих элементов матрицы.

Мой код:

Код:
program Lab12procedure;
  {APPTYPE CONSOLE}
  const
  nmax=7;
  mmax=49;
    Type SMas=array[5..nmax,5..nmax] of integer;
    Type Mas=array[1..mmax] of integer;
      Procedure VvodVyvod(var dat,res: TextFile; var n: integer; var A: SMas; var name: char);
        Var i,j: byte;
          begin
            readln(dat, name);
            readln(dat,n);
            i:=1;
              while(i <= n) do
                begin
                 j:= 1;
              while(j <= n) do
                begin
                 read(dat,A[i,j]);
                 j:= j+1;
                end;
            i:= i+1;
            readln(dat);
                end;
            writeln(res, 'Иcходная матрица ',name,'[i,j] из ',n,' строк ',n,' столбцов');
            i:= 1;
              while(i <= n) do
                begin
                 j:=1;
              while(j <= n) do
                begin
                  write(res,A[i,j]:4,' ');
                  j:= j+1;
                end;
            i:= i+1;
            writeln(res);
                end;
          end;
      Procedure PoiskMax(const n:integer; const B:Smas; out max:integer;var res:TextFile);
       var i,j:byte;
        begin
          i:=1;
          j:=1;
          max:=B[i,j];
            for i:=1 to n do
             begin
              for j:=1 to n do
                begin
                  if B[i,j]>max then
                    max:=B[i,j];
                end;
             end;
        end;
      Procedure Prisvaivanie(const n:integer; const B:Smas; var C : Mas);
       var i,j:byte;
        begin
          for i:=1 to n do
          for j:=1 to n do
            begin
              if  i<j then
                C[i]:=B[i,j];
              if i>j then
                C[i]:=B[i,j];
            end;
        end;
var
  B:SMas;
  C:Mas;
  i,j,n:integer;
  dat,res:TextFile;
  name:char;
  max:integer;
begin
      AssignFile(dat,'dat12.txt');reset(dat);
       AssignFile(res,'res12.txt');rewrite(res);
        VvodVyvod(dat,res,n,B,name);
        writeln(res);
        PoiskMax(n,B,max,res);
          writeln(res,'Максимальный элемент массива ',max);
          writeln(res);
        Prisvaivanie(n,B,C);
          for i:=1 to 2*n do write(res,C[i]:4,' ');
          for i:=2*n to n*n do write(res,C[i]:4,' ');
        CloseFile(dat);
        CloseFile(res);

end.
Программистер вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в матрице А(10,10) элементы главной диагонали заменить максимальным элементом каждой строки в паскале авс Аняяяя Паскаль, Turbo Pascal, PascalABC.NET 3 06.11.2015 18:31
Задать элементам массива значения соответствующих по номеру элементов главной диагонали матрицы Марикан Помощь студентам 0 19.11.2012 21:50
Разработать программу поиска суммы всех элементов, расположенных на главной диагонали и выше её в матрице (Pascal) sanek306 Помощь студентам 4 21.11.2011 11:08
Найти максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы beavis1990 Общие вопросы C/C++ 4 20.08.2011 14:36
произведение всех элементов, расположенных на главной диагонали и выше ее матрицы размером 4х4, Pascal __FIRST__ Помощь студентам 2 12.12.2008 02:43