Для произвольной матрицы столбец с наименьшей суммой разделить на среднее значение недиагональных элементов - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Само задание: Для произвольной матрицы столбец с наименьшей суммой разделить на среднее значение недиагональных элементов. Есть 2 кода. Первый не работает из-за ошибки "Type mismatch" при делении a[i,min]:=a[i,min]/round(sr); . Я решил избавиться от не соответствия данных путем преобразования их из integer в real (См. код #2), но тут возникает другая проблема при подборе рандомом берется число от 0 до 19 и отнимается 9 и получается не отрицательное число, а число которое идет по обратному кругу, т.е. вместо -1 идет 65535, вместо -2 идет 65534 и т.д. Помогите решить проблему, головая уже гудит....(

Решение задачи: «Для произвольной матрицы столбец с наименьшей суммой разделить на среднее значение недиагональных элементов»

textual
Листинг программы
uses crt;
const n=5;
var a: array[1..n,1..n] of real;
    i,j,k,min: byte;
    b: array[1..n] of real;
    sr: real;
begin
randomize;
clrscr;
writeln('ishodnii massiv: ');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=-9+19*random;
    write(a[i,j]:7:2);
   end;
  writeln;
 end;
for j:=1 to n do
for i:=1 to n do
b[j]:=b[j]+a[i,j];
min:=1;
for j:=2 to n do
if b[j]<b[min] then min:=j;
for i:=1 to n do
for j:=1 to n do
 if (i<>j) or (j<>n-i+1) then
  begin
   sr:=sr+a[i,j];
   inc(k);
  end;
sr:=sr/k;
writeln('massiv summ stolbcov: ');
for i:=1 to n do
write(b[i]:7:2);
writeln;
writeln('mimimalnaya summa=',b[min]:0:2,' v stolbce ',min);
writeln('srednee arifmeti4eskoe = ',sr:0:2);
for i:=1 to n do
a[i,min]:=a[i,min]/sr;
writeln('rezultat: ');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:7:2);
  writeln;
 end;
end.

Объяснение кода листинга программы

  1. Создается матрица a размером n x n, где n равно 5.
  2. Задаются переменные i, j, k, min и b.
  3. Заполняется матрица a случайными числами.
  4. Вычисляется сумма элементов матрицы b.
  5. Находится минимальный элемент в матрице b.
  6. Вычисляется среднее значение недиагональных элементов матрицы b.
  7. Выводится результат: сумма столбца с наименьшей суммой и среднее значение недиагональных элементов.
  8. Выводится результат: результат деления столбца с наименьшей суммой на среднее значение недиагональных элементов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы