Привет, помогите студентки, не понимаю как решать 1)В данной вещественной матрице размером 6 на 9 поменяйте местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением. Предполагая, что эти элементы единственные.
2) пусть дано натуральное число n и целочисленная квадратная матрица порядка n. Получите b1,…,bn, где bi – это: А)значение первого по порядку положительного элемента i-й строки (если таких нет, то принять bi=1) Б) сумма элементов, расположенных за первым отрицательным элементом в i-й строки (если все строки неотрицательные, то принять bi=100) С)сумма элементов, предшествующих последнему отрицательному элементу i-й строки (если все элементы строки неотрицательны, то принять bi=-1)
Но вот такая я непонимающая, помогиттте-е-е
Автор: мисс_граффити 20.02.2008 20:31
что пробовала делать? с чем (конкретно, а не "с задачами") возникли проблемы?
Автор: Гость 20.02.2008 22:13
Цитата(мисс_граффити @ 20.02.2008 16:31)
что пробовала делать? с чем (конкретно, а не "с задачами") возникли проблемы?
1)В данной вещественной матрице размером 6 на 9 поменяйте местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением. Предполагая, что эти элементы единственные.
Как понимаю,
For i:=1 to 9 do For j:=1 to 6 do read(a[I, j]; {посчитать сумму каждой строки} Sum:=0; For i:=1 to 9 do For j:=1 to 6 do sum:=sum+a[I,j];{но это разве подсчёт каждой строчки? } {необходимо запомнить мин и мах строки, как?} {а дальше обмен} K:=srt_max; srt_max:=srt_min;
Я права? Но как это будет выглядит на Паскале не представляю!!!
2) пусть дано натуральное число n и целочисленная квадратная матрица порядка n. Получите b1,…,bn, где bi – это: А)значение первого по порядку положительного элемента i-й строки (если таких нет, то принять bi=1)
i-элемент кто вводит пользователь if a[i,j]>0 then write(a[i,j])
Б) сумма элементов, расположенных за первым отрицательным элементом в i-й строки (если все строки неотрицательные, то принять bi=100)
{что это за строка I, она вводится пользователем?????} S:=0; If a[I,j]<0 then s:=s+a[I,j]
С)сумма элементов, предшествующих последнему отрицательному элементу i-й строки (если все элементы строки неотрицательны, то принять bi=-1) А эту даже не представляю как и ещё воприс, я тут ну новенькая, как пользоваться кадом???
Автор: -оксана- 20.02.2008 22:18
предыдущее сообщение тоже моё
Автор: volvo 20.02.2008 22:36
-оксана-, понимаешь в чем дело... Для того, чтобы поменять местами строки, как это требуется в первом задании, совсем не нужно
Цитата
{посчитать сумму каждой строки}
. Достаточно просто пройти по всей матрице, и найти минимум и максимум, при этом запоминая номер строки, в которой он встретился... А потом - поменять эти 2 строки местами:
for i := 1 to m do for j := 1 to n do begin if min > a[i, j] then begin min := a[i, j]; i_min := i; end; if max < a[i, j] then begin max := a[i, j]; i_max := i; end; end; { теперь просто меняем строку №i_min со строкой №i_max местами... }
... как это сделать - уже показывалось неоднократно, в том числе в FAQ-е.
Цитата
я тут ну новенькая, как пользоваться кадом???
Для гостей эта функция доступна, если только ты не отвечаешь через "быстрый ответ", внизу темы, а если нажимаешь на кнопку "Ответить"... Тогда тебе надо выделить мышью твой код и выбрать из комбобокса CODE правильный язык программирования...
Автор: мисс_граффити 20.02.2008 23:47
Цитата
2) пусть дано натуральное число n и целочисленная квадратная матрица порядка n. Получите b1,…,bn, где bi – это: А)значение первого по порядку положительного элемента i-й строки (если таких нет, то принять bi=1)
i-элемент кто вводит пользователь if a[i,j]>0 then write(a[i,j])
нет i изменяется от 1 до N...
то есть как-то так:
for i:=1 to n do begin j:=1; while (a[i,j]<=0) and (j<=n) do j:=j+1; if a[i,j]>0 then b[i]:=a[i,j] else b[i]:=1; end;
набирала здесь, не проверяла... но, думаю, идея понятна.