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

2. даны 3 двумерных массива a, b, c неодинаковой размерности. разработать 2 процедуры: 1) процедуру для ввода размеров и элементов массива. 2) процедуру вычисления суммы диагональных элементов в каждом массиве. в программе вычислить общую сумму диагональных элементов 3-х массивов. результаты выдать на экран. нужен

👇
Ответ:
alexey2006kost
alexey2006kost
01.01.2021
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

type
  Mas=array[,] of integer;

procedure GetMas(s:string; var a:Mas);
begin
  Writeln('*** Массив ',s,' ***');
  var n:=ReadInteger('Количество строк в массиве:');
  var m:=ReadInteger('Количество столбцов в массиве:');
  Writeln('Вводите элементы массива');
  a:=ReadMatrInteger(n,m)
end;

function SumDiag(a:Mas):integer;
begin
  Result:=0;
  for var i:=0 to Min(a.RowCount,a.ColCount)-1 do Result+=a[i,i]
end;

begin
  var a,b,c:Mas;
  GetMas('A',a);
  GetMas('B',b);
  GetMas('C',c);
  Writeln('Общая сумма элементов главных диагоналей равна ',
    SumDiag(a)+SumDiag(b)+SumDiag(c))
end.

Пример
*** Массив A ***
Количество строк в массиве: 3
Количество столбцов в массиве: 4
Вводите элементы массива
-33 -50  34 -41
-31  10  37  31
32 -49 -32 -27
*** Массив B ***
Количество строк в массиве: 2
Количество столбцов в массиве: 2
Вводите элементы массива
-22 35
0 11
*** Массив C ***
Количество строк в массиве: 3
Количество столбцов в массиве: 2
Вводите элементы массива
23 38
17 -8
16 -1
Общая сумма элементов главных диагоналей равна -51
4,4(76 оценок)
Открыть все ответы
Ответ:
Dmitry0232141
Dmitry0232141
01.01.2021

Запишу сразу в виде готовой программы:

var

x, a, b, c, d: real;

begin

x := 0.33;

a := Log10(Exp(x + 2));

b := 2 * Pi / Tan(45 * Pi / 180);

c := 3.14 * ArcSin(x);

d := Sqr(Tan(Sqr(x))) + Exp(Cos(x));

Writeln(a);

Writeln(b);

Writeln(c);

Writeln(d);

end.

Здесь в примере b, котангенс 45 -видимо имеется ввиду градусов (и поэтому там умножено на Pi / 180, чтобы перевести в радианы- ведь в Паскале все тригонометрические функции используют радианы). Но, если это имеется ввиду 45 радиан, то этот множитель нужно убрать.

Там же, вместо котангенса используется единица делённая на тангенс (т.к. функции котангенса в Паскале вроде нет).

Ну, можно и выписать оттуда сами выражения отдельно, как просят в задаче (только работать вне программы это всё равно не будет):

a) Log10(Exp(x + 2))

b) 2 * Pi / Tan(45 * Pi / 180)

c) 3.14 * ArcSin(x)

d) Sqr(Tan(Sqr(x))) + Exp(Cos(x))

4,8(4 оценок)
Ответ:
arlanout
arlanout
01.01.2021

Код программы:

#include <iostream>

#include <locale>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

int *a, N, sum, numb;

cout << "Введите количество чисел: ";

cin >> N;

a = new int[5];

cout << "Введите "<<N<<" чисел:"<<endl;

for (int i = 0; i < N; i++)

 cin >> a[i];

numb = 0;

sum = a[0] + a[1];

for (int i = 2; i < N; i++) {

 if (a[i] > sum) {

  numb = i;

  break;

 }

 else {

  sum += a[i];

 }

}

if (numb != 0)

 cout <<"Номер числа: "<< ++numb << endl;

else

 cout << "Такого числа нет" << endl;

}

4,6(92 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ