Вопрос № 20826: люди помогите проверить задачи 1) найти произведение минимальных элементов каждой строки матрицы. 2) напечатать максимальное значение модуля разности между произвольной парой соседних элементов в трех последовательностях. 3)найти произведение максима...
Вопрос № 20826
люди помогите проверить задачи 1) найти произведение минимальных элементов каждой строки матрицы. 2) напечатать максимальное значение модуля разности между произвольной парой соседних элементов в трех последовательностях. 3)найти произведение максимальных элементов каждой строки для трех матриц. посмотрите кому не сложно нужно найти ошибки.
Приложение:
Отправлен: 13.05.2005, 22:43
Вопрос задал: dinar (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: dfdfdf
Здравствуйте, dinar!
{111111задача}
var a : array [1..3,1..3] of real;
i,j:byte;
min,r:real;
begin
for i:=1 to 3 do
for j:=1 to 3 do
readln(a[j,i]);
for i:=1 to 3 do
begin
for j:=1 to 3 do
write(a[j,i],' ');
writeln;
end;
r:=1;
for i:=1 to 3 do
begin
min:=a[1,i];
for j:=2 to 3 do
if a[j,i]<min then min:=a[j,i];
r:=r*min;
end;
writeln('r=',r:11:2);
readln;
end.
Может я тут случайно строки со столбцами поменял, но суть остается той же, надо просто переменные i,j поменять в строке write(a[j,i],' ');
=========================================
В условия второй задачи я не понял, но начинаться она должна была бы:
{22222задача}
type dinar = array[1..3] of real;
var a,b,c:dinar; s: real;
procedure wod (f:dinar);
var i:byte;
begin
for i:=1 to 3 do
readln(f[i]);
end;
begin
wod(a);
wod(b);
wod(c);
Кроме того в паскале нельзя делать имена переменных с пробелом (поэтому max a надо обозвать как нибудь подругому, например max_a).
Кроме того кусок:
for i:=1 to 3 do begin
r:=abs(b[i]-b[i+1]);
if r>max b then max b:=r;
max c:abs(c[1]-c[2]);
Повторяется несколько раз, его надо запихнуть в функцию. Наверно.
=========================================================
А это вообще 1 прога, только оформленная в виде функции и все. А ну да и еще надо ввести массив матриц.
{333333задача}
type dinar=array[1..3,1..3] of real;
var z:array [1..3] of dinar;
i,j:byte;
function firstprog (a:dinar):real;
var min,r:real;
i,j:byte;
begin
for i:=1 to 3 do
begin
for j:=1 to 3 do
write(a[j,i],' ');
writeln;
end;
r:=1;
for i:=1 to 3 do
begin
min:=a[1,i];
for j:=2 to 3 do
if a[j,i]<min then min:=a[j,i];
r:=r*min;
end;
writeln('r=',r:11:2);
firstprog:=r;
end;
begin
{тут бы надо добавить ввод трех матриц}
for i:=1 to 3 do
firstprog(z[i]);
readln;
end.
Ответ отправил: dfdfdf (статус: 10-ый класс)
Отправлен: 14.05.2005, 10:10 Оценка за ответ: 5
Отвечает: Ayl
Здравствуйте, dinar!
Задача 1.
1. После отработки цикла по заполнению матрицы значения переменных i и j неопределены. В результате обращение min := a [1, j] некорректно. Далее. Ты заводишь цикл по j. И обращаешься к элементу с индексом [i, j]. Но чему равен i? Неизвестно. Некорректно.
Далее. Допустим, что ты вычислил min. И потом в цикле по i выполняешь команду r := r * min. При условии того, что r равно 1 в начале итераций, твой цикл выполняет возведение в 3-ю степень значения переменной min. А это немного отличается от задания, ИМХО.
Задача 2.
1. Переменные max_a, max_b, max_c неопределены. К тому же вызывает вопрос операция max a:abs(a[1]-a[2]). Надеюсь, что это проблемы формы и написано все-таки max_a := abs (a [1] - a [2]).
2. Ты не имеешь права запускать цикл от 1 до 3. Во-первых, при значении индекса равного 3. ты будешь пытаться найти разность между элементами с индексами 3 и 4, а элемента с индексом 4 в твоем массиве нет. Получи ошибку времени выполнения. К тому же, зачем повторно вычислять разность между первым и вторым элементами? Она уже посчитана при расчете max_a.
4. Ты начинаешь цикл: for i := 1 to 3 begin, но не закрываешь его с помощью end.
Задача 3.
1. Функция maxx. Опять идет обращение max := d [1, j] при условии, что j еще не определена.
2. Интересная конструкция: if d[1,j]>max then max:=d[i,j]. А что такое i? И какое отношение к i имеет 1?
3. При вычислении произведения таже самая ошибка, что и в задаче 1.
4. Не производится печать значения r.
В Приложении см. решения
Приложение:
Ответ отправил: Ayl (статус: Профессор)
Отправлен: 16.05.2005, 13:23