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

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


textual

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

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.

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

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



Похожие ответы
  1. Дана матрица 7x7. Определить суммы всех элементов матрицы, лежащих на диагоналях. Помогите сделать, пожалуйста! Заранее спасибо ОГРОМНОЕ!

  1. Пусть дана вещественная матрица размером n*m. Найдите среднее арифметическое наибольшего и наименьшего значений её элементов, расположенных ниже главной диагонали.- это условие. Напиши пожалуйста программу!

  1. Найти номер первого из столбцов, не содержащих элементов, меньших s. (матрица)

  1. Сформировать одномерный массив из сумм квадратов элементов каждого столбца матрицы. Все что находил все было не рабочим, помогите пожалуйста все-таки ее решить)

  1. Дана прямоугольная матрица A(n*m). Заменить наименьший элемент каждой строки, начиная со второй, наибольшим элементом предыдущей строки.

  1. Помогите дописать в задаче сортировку пузырьком и если можно с пояснением как она будет применяться. Условие задачи: Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы матрицы, расположить их в соответствии с ростом характеристик. Вот какой кусок кода получился у меня (Программу я стал писать через процедуры и функции), что бы легче было понять мою идею, я оставлю сбоку к элементам когда свои комментарии:

  1. В прямоугольной матрице размером М*К, , имеющей имя ММ содержаться целые числа. М- число строк, К- число столбцов. Ввести элементы матрицы с клавиатуры. Определить и вывести на экран сумму положительных элементов в каждом столбце. Определить столбец с максимальным значением этой суммы и вывести его номер на экран. Как сделать? Сижу туплю капец!

  1. Создать двумерный массив и вывести его на печать в виде матрицы.Выполнить задание: (i,j=1..4) 1) xi,j = i tan(pi/5) / 2+sin(ij) -вычислить сумму элементов столбцов. 2)xi,j=ctg(pi/5)+0,4 / 56+sin j -вычислить произведение элементов столбцов. Что тут означает вывести двумерный массив на печать? И что нужно делать с примерами 1 и 2?

  1. Как найти суму элементов в тех столбцах в которых нет отрицательных чисел;минимум среди сумм модулей элементов диагоналей параллельных к побочной диагонали матрицы.Матрица квадратная.

  1. 1. В прямоугольной матрице размером Т*М, имеющей имя МАТР содержаться целые числа. Т - число строк, М - число столбцов. Ввести элементы матрицы с клавиатуры. Определить и вывести на экран сумму элементов в каждой строке. Определить строку с максимальным значением этой суммы и вывести ее номер на экран.