М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Снежана341
Снежана341
20.04.2020 10:35 •  Информатика

Задан двумерный массив, подсчитать кол-во чётных элементов в главной диагонали

👇
Ответ:
Evelina0889
Evelina0889
20.04.2020
// PascalABC.NET 3.2, сборка 1338 от 16.11.2016
const
  n=8;
begin
  var a:=MatrixRandom(n,n,10,90);
  for var i:=0 to n-1 do begin
    for var j:=0 to n-1 do Write(a[i,j]:3);
    Writeln
    end;
  var k:=0;
  for var i:=0 to n-1 do
    if a[i,i].IsEven then Inc(k);
  Writeln('k=',k);
end.

Пример
 23 32 75 57 27 14 26 53
 46 75 17 68 57 60 10 43
 76 10 62 83 62 20 89 15
 28 36 71 86 67 13 34 46
 84 38 56 90 16 40 19 16
 15 39 75 15 23 41 23 70
 48 17 50 81 82 18 41 13
 33 69 39 82 34 31 77 43
k=3
4,6(38 оценок)
Открыть все ответы
Ответ:
kuanyshqz
kuanyshqz
20.04.2020
Это ?   pascalвыделить код1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 uses graphabc; function f(x: real): real; begin f: =sin(x)/x end; var mx,my,x,dx,y: real;     x0,y0,i: integer;     s: string; begin x0: =windowwidth div 2; {г*г*г·г*г«г® гєг®г®г°г¤гёг*г*гі гў г¶гґг*гіг°гґ гѕгєг°г*г*г*} y0: =windowheight div 2; {гєг®гѕгґгґгёг¶гёгґг*гіг» гїг® г®г±гїг¬ г¤г«гї гїгґг°гґгўг®г¤г* г°гґг*г«гјг*г»гµ гєг®г®г°г¤гёг*г*гі гў гѕгєг°г*г*г*г»гґ} mx: =30; my: =100; line(0,y0,windowwidth,y0); {г®г±гј г•} line(x0,windowheight,x0,0); {г®г±гј г“} {гїг®г¤гїгёг±гё г®г±гё y} line(x0-3,y0-round(my),x0+3,y0-round(my)); textout(x0-10,y0-round(my)-15,'1'); line(x0-3,y0+round(my),x0+3,y0+round(my)); textout(x0-15,y0+round(my),'-1'); {гїг®г¤г°гёг±гё г®г±гё г•} for i: =1 to 6 do   {г¬г*гєг±гёг¬г*г«гјг*г®гґ гєг®г«гёг·гґг±гігўг® г§г*г±гґг·гґгє гў г®г¤г*гі г±гіг®г°г®г*гі}   begin   line(x0+round(i*pi*mx/2),y0-3,x0+round(i*pi*mx/2),y0+3); {г§г*г±гґг·гєгё г*г* г®г±гё г•}   line(x0-round(i*pi*mx/2),y0-3,x0-round(i*pi*mx/2),y0+3);   if i mod 2=0 then {гїг®г¤гїгёг±гё г·гґг°гґг§ 1}     begin     str(i div 2,s);     if s='1' then s: =''; {1pi 1 г*гґ гїгёгёгґг¬}     textout(x0+round(i*pi*mx/2),y0+10,s+'pi');     textout(x0-round(i*pi*mx/2),y0+10,'-'+s+'pi');     end;   end; {г¶гґг*гіг°} textout(x0+5,y0+10,'0'); {гїг®г¤гїгёг±гё гєг®г*г¶г®гў г®г±гґг©} textout(windowwidth-10,y0-10,'x'); textout(x0-10,10, 'y'); dx: =0.001; {гјг°г*гґгёгє} x: =-3*pi; while x< =3*pi do   begin   setpixel(x0+round(x*mx),y0-round(f(x)*my),clblue); {гјг°г*гґгёгє г±гёг*гёг¬}   x: =x+dx; {г*г*г°г*г№гёгўг*гґг¬ гµ}   end; end.
4,5(90 оценок)
Ответ:
RakoT1511
RakoT1511
20.04.2020
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
type
  Point=record
  x,y:real
  end;

function GetPoint(c:char):Point;
begin
  Writeln('Введите координаты точки ',c,':');
  Read(Result.x,Result.y)
end;

function Line(A,B:Point):real;
begin
  Result:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y))
end;

function SqTriangle(pA,pB,pC:Point):real;
begin
  var a:=Line(pB,pC);
  var b:=Line(pA,pC);
  var c:=Line(pA,pB);
  if (a+b>c) and (a+c>b) and (b+c>a) then begin
    var p:=(a+b+c)/2;
    Result:=sqrt(p*(p-a)*(p-b)*(p-c))
    end
  else Result:=0
end;

begin
  var A:=GetPoint('A');
  var B:=GetPoint('B');
  var C:=GetPoint('C');
  Writeln('Площадь треугольника равна ',SqTriangle(A,B,C))
end.

Тестовое решение:
Введите координаты точки A:
-5 3.18
Введите координаты точки B:
1.45 6.2
Введите координаты точки C:
6 -5.93
Площадь треугольника равна 45.98975
4,4(42 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ