Есть ответ 👍

Дана целая квадратная матрица, n- го порядка. определить, является ли она магическим квадратом, т.е. такой, в которой сумма элементов во всех строках и столбцах одинаковая. нужна адекватная программа уровня 11 класса на паскале.

281
393
Посмотреть ответы 3

Ответы на вопрос:


Const n=5; var a: array[1..n,1..n] of integer; i,j,s1,s2: integer; b: boolean; begin for i: =1 to n do   for j: =1 to n do read(a[i,j]); b: =true; s1: =0; for j: =1 to n do s1: =s1+a[1,j]; for i: =1 to n do   begin   s2: =0;   for j: =1 to n do s2: =s2+a[i,j];   if s1< > s2 then b: =false;   s2: =0;   for j: =1 to n do s2: =s2+a[j,i];   if s1< > s2 then b: =false;   end; if b then writeln('матрица - магический квадрат')       else writeln('матрица не является магическим квадратом'); end. пример 1: 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9матрица - магический квадрат пример 2: 15 24 1 8 17 5 23 7 14 16 22 4 6 13 20 10 12 19 21 3 11 18 2 25 9 матрица не является магическим квадратом

Program   magicsquares;   {построение магических квадратов}  uses   crt;   type  a_type=array [1..50,1..50]  of integer ;   var   i,j,n: integer;   a: a_type;   t: boolean;   {логическая переменная true (правда) или false (ложь)}  x,y: integer;   label 1;   {метка}  procedure   print(n: integer; a: a_type);   {процедура вывода}  var   i,j: integer;   begin  for  i: =1   to  n   do  begin  for  j: =1   to  n   do   write(a[i,j]: 4);   writeln('' );   end;   end;   procedure   winsh(x1,y1,x2,y2,col1,col2: word);   {процедура вывода окна}  begin  textbackground(black);   window (x1+1,y1+1,x2+1,y2+1);   {тень - черный прямоугольник}  clrscr;   textbackground(col1);   window(x1,y1,x2,y2);   clrscr;   textcolor(col2);   {рисование рамки}  gotoxy(2, 1); write('г' );   for  i: =1   to  x2-x1-2   do   write('=' );   gotoxy(x2-x1,1); write('=' );   gotoxy(2,y2-y1+1);   write('l' );   for  i: =1   to  x2-x1-2   do   write('=' );   gotoxy(x2-x1,y2-y1+1); write('-' );   for  j: =2   to  y2-y1   do  begin  gotoxy(2,j); write('¦' );   gotoxy(x2-x1,j); write('¦' );   end ;   end;   procedure   oddmagic(n: integer;   var   a: a_type);   {процедура формирования магического квадрата при нечетном n. описание алгоритма в сопроводительной записке }  var  i,j,k: integer;   p,l: integer;   begin  for  i: =1   to  n   do  for  j: =1   to  n   do   a[i,j]: =0;   j: =n  div   2 +1; p: =sqr(n); i: =1; a[i,j]: =1;   for  l: =2   to  p   do  begin  i: =i-1;   j: =j+1;   if  (i=0)   and  (j< > n+1)   then   i: =n;   if  (j=n+1)   and  (i< > 0)   then   j: =1;   if  ((i=0)   and  (j=n+1))   or  (a[i,j]< > 0)   then  {важен порядок условий! }  begin  i: =i+2;   j: =j-1;   end ;   a[i,j]: =l;   end;   end;   procedure   two (n: integer;   var   a: a_type);   {процедура построения квадрата при n обычной четности: n=6,10,14,}  var  u,i,j,k,m,z: integer;   b: a_type;   begin  u: = n  div   2;   m: =(u-1)  div   2;   oddmagic(u,b);   {вызов процедуры построения квадрата при нечет-ном u}  k: =u*u;   for  i: =1   to  n   do  for  j: =1   to  n   do  begin  if  (i> =1)   and  (i< =u)   and  (j> =1)   and  (j< =u)   then   a[i,j]: =b[i,j];   if  (i> =u+1)   and  (i< =n)   and  (j> =u+1)   and  (j< =n)   then   a[i,j]: =b[i-u,j-u]+k;   if  (i> =1)   and  (i< =u)   and  (j> =u+1)   and  (j< =n)   then   a[i,j]: =b[i,j-u]+2*k;   if  (i> =u+1)   and  (i< =n)   and  (j> =1)   and  (j< =u)   then   a[i,j]: =b[i-u,j]+3*k;   end;   for  i: =1   to  u   do  if  i=u  div   2+1   then  begin  j: = u  div   2+1;   for  k: =1   to  m   do  begin  z: =a[i,j];   {обмен данными}  a[i,j]: =a[i+u,j];   a[i+u,j]: =z;   j: =j-1  end;   end 
Aneenanto
4,7(41 оценок)

Var i,s,n: integer; a: array[1..1000] of integer; begin write('введите количество элементов массива'); read(n); for i: =1 to n do begin a[i]: =random(10); if a[i]< =6 then s: =s+a[i]; end; writete('ответ: ', s); end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS