Помощь - Поиск - Пользователи - Календарь
Полная версия: Матрица
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
test100
Помогите пожалуйста решить. :molitva:

Матрица n на m элементов

В каждой строке заменить максимальный элемент на сумму элементов соответствующей строки.
volvo
Значит поиском пользоваться не хотим? Таких задач в разных вариантах ДЕСЯТКИ решены на форуме !!! Сколько можно одни и те же вопросы задавать?
klem4
Цитата(volvo @ 9.06.05 16:00)
Значит поиском пользоваться не хотим? Таких задач в разных вариантах ДЕСЯТКИ решены на форуме !!! Сколько можно одни и те же вопросы задавать?
:yes:

на уже, не мучайся, но впредь пользуйся поиском!


for i:=1 to n do
begin
s:=0;
for j:=1 to m do
s:=s+x[i,j];
nmax:=1;
for j:=2 to m do
if x[i,j]>x[i,nmax] then
nmax:=j;
x[i,nmax]:=s;
end;
test100
Почему-то только в некоторых строках заменяет правильно...


program test; uses crt;
const n=4; m=4;
var
x:array[1..n,1..m] of integer;
nmax:integer;
s:integer;
i,j:byte;
begin
clrscr;
randomize;
writeln('Исходный матрица');
for i:=1 to n do
begin
for j:=1 to m do
begin
x[i,j]:=random(10);
write(x[i,j]:4);
end;
writeln;
end;

for i:=1 to n do
begin
s:=0;
for j:=1 to m do
s:=s+x[i,j];
nmax:=1;

for j:=2 to m do
if x[i,j]>x[1,nmax] then
nmax:=j;
x[i,nmax]:=s;
end;
writeln('Полученная матрица');
for i:=1 to n do
begin
for j:=1 to m do write(x[i,j]:4);
writeln;
end;
end.



Еще не подскажите как сделать чтобы максимальный элемент в сумму не входил.
klem4
у меня все работает :

uses crt;
const n=2;
m=3;

var
x:array[1..n,1..m] of integer;
i,j,s,nmax:integer;

begin
clrscr;
randomize;
for i:=1 to n do
begin
writeln;
for j:=1 to m do
begin
x[i,j]:=random(11);
write(x[i,j]:2,' ');
end;
end;

for i:=1 to n do
begin
s:=0;
for j:=1 to m do
s:=s+x[i,j];
nmax:=1;
for j:=2 to m do
if x[i,j]>x[i,nmax] then
nmax:=j;
x[i,nmax]:=s;
end;

WRITELN;
for i:=1 to n do
begin
writeln;
for j:=1 to m do
write(x[i,j]:2,' ');
end;

readln;
end.





klem4
у тебя ошибка

Цитата
for j:=2 to m do
if x[i,j]>x[1,nmax] then
nmax:=j;
x[i,nmax]:=s;
end;


IF x[i,j]>x[i,nmax] а не x[1,nmax]
volvo
Цитата(test100 @ 9.06.05 16:58)
Еще не подскажите как сделать чтобы максимальный элемент в сумму не входил.

Вместо
x[i, nmax] := s;

поставь
x[i, nmax] := s - x[i, nmax];
test100
klem4 и volvo
Большое вам СПАСИБО
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.