Для произвольной матрицы столбец с наименьшей суммой разделить на среднее значение недиагональных элементов - 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.
Объяснение кода листинга программы
- Создается матрица a размером n x n, где n равно 5.
- Задаются переменные i, j, k, min и b.
- Заполняется матрица a случайными числами.
- Вычисляется сумма элементов матрицы b.
- Находится минимальный элемент в матрице b.
- Вычисляется среднее значение недиагональных элементов матрицы b.
- Выводится результат: сумма столбца с наименьшей суммой и среднее значение недиагональных элементов.
- Выводится результат: результат деления столбца с наименьшей суммой на среднее значение недиагональных элементов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д