Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ задача по матрице

Автор: Несчасній студент 29.05.2006 14:30

wacko.gif народ нужно помощь
в матрице A(4.5) нужно пощитать сумму елементов по столбцам и вывести их в порядке возростания
за рание благодарен wub.gif wub.gif wub.gif

Автор: RaV 29.05.2006 14:51

{...}
var
a : array [1..4,1..5] of integer;
sum : array [1..5] of integer;
{...}
{ввод массива а[4,5]}
{...}
{вычисляем сумму столбцов}
For i:=1 to 5 do
for j:=1 to 4 do
sum[j]:=sum[j]+a[j,i];
{...}
Сортируем массив sum и выводим на экран


Автор: Несчасній студент 29.05.2006 15:03

program lab2 (input,output);
var i,j,x:integer; s:real;
A:array[1..4,1..5] of integer;
B:array[1..4] of real ;
begin
writeln;
for i:=1 to 4 do for j:=1 to 5 do read (a[i,j]);
for i :=1 to 4 do
begin
s:=0;
for j:=1 to 5 do s:=s+a[i,j];
end;
b[i]:=s;
writeln ;
for i:=1 to 4 do writeln (B[i])
end.


вот что у меня вышло какойто бред но где ошыбкая не знаю (это без вивода по возростанию)

Автор: Несчасній студент 29.05.2006 15:25

да и еще как работает цикл при сортировке по возростанию (в двух словах я не понимаю )
если просто ввести масив и посотртировать по возростанию я понимаю а как это происходит када масив образуеться циклом ведь он все время возвращаеться в начало строки или после завершения или после оконщания цыкла целлый масив (в моем случае сума столбцов матрицы) остаеться в памяти
если не трудно обясните
мне не главное задачу оешить а понять (хотя за задачу буду благодарен) good.gif

Автор: Malice 29.05.2006 16:31

Цитата(Несчасній студент @ 29.05.2006 11:03) *

....
end;
b[i]:=s;

...
вот что у меня вышло какойто бред но где ошыбкая не знаю (это без вивода по возростанию)

Поменяй местами эти строчки, у тебя присвоение b[i] происходит за циклом i.

Автор: volvo 29.05.2006 16:45

Цитата(Несчасній студент @ 29.05.2006 11:03)
вот что у меня вышло какойто бред но где ошыбкая не знаю

А читать внимательно, что тебе пишут, не пробовал? Попробуй... Ты делаешь сумму элементов строк, а не столбцов...
  for i := 1 to 5 do begin
...
for j:=1 to 4 do s:=s+a[j, i]; { <-- Внимание на индексы !!! }
...
end;