Обработка массива - Free Pascal

  1. День добрый, есть задачка по Паскалю, которую сдавать через час, а у меня еще долги Если не сложно, то прошу помочь, буду вам премного благодарен Дана матрица B[1:6,1:6] и вектор А[1:6]. Из среднеарифметических значений строк матрицы сформировать вектор C. Если минимальный элемент вектора C меньше минимального элемента вектора A, то из элементов главной диагонали матрицы сформировать вектор D. Иначе в матрице B элементы главной диагонали матрицы заменить элементами вектора A по правилу Bi,i= Ai.


textual

Код к задаче: «Обработка массива - Free Pascal»

{Дана матрица B[1:6,1:6] и вектор А[1:6]. Из среднеарифметических значений строк 
матрицы сформировать вектор C. Если минимальный элемент вектора C меньше 
минимального элемента вектора A, то из элементов главной диагонали матрицы 
сформировать вектор D. Иначе в матрице B элементы главной диагонали матрицы 
заменить элементами вектора A по правилу Bi,i= Ai}
 
const
  n = 6;
 
type
  matrix = array[1..n, 1..n] of real;
  vector = array[1..n] of real;
 
function Min(x: vector): real;
var
  i: integer;
  mn: real;
begin
  mn := x[1];
  for i := 2 to n do
    if x[i] < mn then
      mn := x[i];
  min := mn;
end;
 
var
  B: matrix;
  a, c, d: vector;
  i, j: integer;
  s: real;
 
begin
  randomize;
  writeln('Матрица B: ');
  for i := 1 to n do
  begin
    s := 0;
    for j := 1 to n do
    begin
      b[i, j] := -n div 2 + random * n;
      write(b[i, j]:8:2);
      s := s + b[i, j]
    end;
    a[i] := -n div 2 + random * n;
    c[i] := s / n;
    writeln;
  end;
  writeln('Вектор A: ');
  for i := 1 to n do
    write(a[i]:8:2);  
  writeln;    
  writeln('Минимальный элемент вектора A: ', min(a):8:2);
  writeln('Вектор C: ');
  for i := 1 to n do
    write(c[i]:8:2);
  writeln;       
  writeln('Минимальный элемент вектора C: ', min(c):8:2);    
  if min(c) < min(a) then
  begin
    for i := 1 to n do
      d[i] := b[i, i];
    writeln('Вектор D: ');
    for i := 1 to n do
      write(d[i]:8:2);  
  end
  else
  begin
    writeln;
    for i := 1 to n do
      b[i, i] := a[i];
    writeln('Измененная матрица B: ');
    for i := 1 to n do
    begin
      for j := 1 to n do
        write(b[i, j]:8:2);
      writeln;
    end;    
  end;
end.

СДЕЛАЙТЕ РЕПОСТ

5   голосов, оценка 3.600 из 5



Похожие ответы
  1. 1. Дан целочисленный массив А, содержащий n элементов (n 20). Найти количество различных членов последовательности.

  1. Доброго вечера. Уважаемые форумчане, кто нибудь сталкивался с таким? Необходимо написать подпрограмму обработки аппаратного прерывания системного таймера для генерации звука через каждые 5 секунд. Функция Delay() не в счёт. Прошу помощи, так как сам ума не приложу, как это сделать.

  1. Доброй ночи. Появилась еще одна небольшая проблема. Не могу реализовать следующие два вопроса (в коде пометил их комментариями как zadanie 3 и 4): 3. Найти произведение элементов одномерного массива после второго четного. 4. Удалить найденный по условию элемент одномерного массива.

  1. Приветствую, помогите пожалуйста с задачей: Даны два массива из целых чисел, представлены, соответственно, делимыми и делителями. Получить третий массив REZ, элементы которого будут частными от деления соответствующих пар исходных массивов

  1. Помогите, пожалуйста, исправить. Выдаёт ошибку External:SIGFTP, никак не понимаю, что он просит и как исправить.

  1. Впишите пропущенную строку для вычисления суммы элементов массива a[1..k]: s:=0; for n:=1 to k do writeln(‘s=’,s);

  1. Помогите пожалуйств составить подпрограмму - процедуры вычисления произведения отрицательных элементов массива B(2×3)rightarrow PO и использовать ее для вычисления выражения: X(i - нижний индекс)= а^2(i - нижний индекс)/2РО В(i,j -нижний индекс)=|-0.4 2.8 -12.6| |5.5 -0.5 6.2 | a(i -нижний индекс)=10.2;8;25. Буду очень благодарен.

  1. Хеллоу, помогите, пожалуйста, написать программу, создающую динамический массив размером, указанным пользователем, и заполняющую его числами от 1 до размера массива.

  1. Помогите пожалуйста с составлением программы. Условие: Найти сумму положительных (SP) и количество отрицательных (PO) элементов массива Z(7) и минимальный элемент массива b(2,3) и вычислить [x][/i]: x(i-тое)=((sqrt(SP))/(PO+a*c))+b(min-в индексе)*Sqr(k)+Z(i-ое); a=2,5e-3; c=175; K=8; Z(i-тое)=-2,3,12,-7,-18,27,-10; B(2,3)=Матрица 0.3 1.5 -6.1 7.2 10.3 0.6 Добавлено через 5 минут