![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите найти среднее арифметическое каждого столбца матрицы m*n.
Варианты типа a[1,1]+a[2,1]+... не устраивают ![]() Нужно что то типа S:=a[i,j]+S и т. д. дальше не знаю что с этим делать confused: Заранее благодарен |
|
#2
|
||||
|
||||
|
А самому подумать лень?
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
m = 4;
n = 4;
var
mat: array[1..m,1..n] of integer;
i, j: integer;
result: real;
s: string;
begin
Memo1.Clear;
// Заполнение
Randomize;
for i := 1 to m do
for j := 1 to n do
mat[i,j] := Random( 10 );
// Вывод
for i := 1 to m do
begin
s := '';
for j := 1 to n do
s := s + IntToStr( mat[i,j] ) + ' ';
Memo1.Lines.Add( s );
end;
Memo1.Lines.Add( '' );
// Подсчет
for i := 1 to n do
begin
result := 0;
for j := 1 to m do
result := result + mat[j,i];
Memo1.Lines.Add( Format( 'Столбец %d = %f', [i,result/m] ) );
end;
end; |
|
#3
|
|||
|
|||
|
Я подумал! так будет правильней
![]() Program Matrix; {$APPTYPE CONSOLE} uses SysUtils; var a:array [1..100,1..100] of integer; i,j,n,m: integer; S,z: real; begin writeln('input n (stroki)'); readln(n); writeln('input m (stolbci)'); readln(m); writeln ('input massiv a'); for i:=1 to n do begin for j:=1 to m do begin read(a[i,j]); end; readln; end; for j:=1 to n do begin S:=0; for i:=1 to m do begin S:=a[i,j]+S; end; z:=s/m; Write('cp ap', j, ' ct =',z:2:2); Writeln; end; Readln; { TODO -oUser -cConsole Main : Insert code here } end. Последний раз редактировалось Kaifolom, 28.11.2006 в 08:26. |
|
#4
|
||||
|
||||
и что будет если на запрос stroki или stilbci я введу 101 или -1?? |
|
#5
|
|||
|
|||
|
Ну во-первых если на запрос stroki или stolbci ввести -1 то это получиться никакая уже не матрица!, -1 можно ввести на запрос 'input massiv a'. Если же на запрос ввести 101 то просто придётся долго вводить элементы матрицы - целых 101 строку и(или) 101 столбец)))
|
|
#6
|
||||
|
||||
|
to Kaifolom: иди учи теорию
1) Ну во-первых если на запрос stroki или stolbci ввести -1 то это получиться никакая уже не матрица! а что получится? да будет тебе известно, что (a: array[-1..3,-5..-1] of real) - это тоже матрица!!! 2) Если же на запрос ввести 101 то просто придётся долго вводить элементы матрицы - целых 101 строку и(или) 101 столбец))) А ты сначала попробуй, а потом утверждай. У тебя (a:array [1..100,1..100] of integer). Если i или j будут меньше 1 или больше 100, твоя прога вылетит с ошибкой!!! Последний раз редактировалось Decoding, 28.11.2006 в 20:18. |