Помощь - Поиск - Пользователи - Календарь
Полная версия: как выбрать Max элемент из суммы 3-х столбцов матр
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Мария-
народ! помогите прямо щас, если можете.
надо выбрать максимальный элемент из сумм 3-х столбцов матрицы, поделенных на разные числа.
Как это сделать.
вот текст в котором надо это сделать:
program Vedomost;
const
 m=3; n=6;
 x=50; 
 y=45;  z=60; 
type
     vect=array[1..m] of real;
     matr=array[1..n,1..m] of real;
var
   D:matr;             line:vect;
 B,S,Sum,Sum1,Sum2,a:real;           i,j:integer;
   R,E,H:real;
        begin
       
       for i:=1 to n do
       for j:=1 to m do
        begin
         write(' ',m,'*',n,' a[',i,'',j,']');

         readLn(D[i,j]);
                         end;
               begin
             S:=0;
             Sum:=0; Sum1:=0;
             Sum2:=0;
              j:=1;
             for i:=1 to n do
             begin
             S:=S+D[i,j];
             B:=S;
             Sum:=B;
             end;
             writeln(Sum:8:2);
             j:=2;S:=0;
              for i:=1 to n do
             begin
             S:=S+D[i,j];
             B:=S;
             Sum1:=B;
             end;
             writeln(Sum1:8:2);
             j:=3;S:=0;
              for i:=1 to n do
             begin
             S:=S+D[i,j];
             B:=S;
             Sum2:=B;
             end;
      writeln('',Sum2:8:2);
                         H:=Sum/x;
                         R:=Sum1/y;
                          E:=Sum2/z;
              writeln(H:3:2);
               writeln(R:3:2);
               writeln(E:3:2);
      readln;
      end;
      end.
klem4
может так ?

uses crt;
const
 m=3; n=4;
 x=50;
 y=45;  z=60;
type
     vect=array[1..m] of real;
     matr=array[1..n,1..m] of real;

function summ(m:matr;jj:integer):real;
var s:real;
    i:integer;
begin
   s:=0;
   for i:=1 to n do
    s:=s+m[i,jj];
   summ:=s;
end;
var
   D:matr;line:vect;
   B,S,a:real;
   i,j,max:integer;
   R,E,H:real;
begin
   clrscr;
   for i:=1 to n do
    for j:=1 to m do
     begin
        write(' ',m,'*',n,' a[',i,'',j,']');
        readLn(D[i,j]);
     end;

   max:=1;writeln('j=',max,'   ',summ(d,max):2 :3);
   for j:=2 to m do
    begin
       writeln('j=',j,'   ',summ(d,j):2 :3);
       if summ(d,j)>summ(d,max) then
        max:=j;
    end;
   writeln('Nmax = ',max);
   writeln;
   for i:=1 to n do
    begin
       writeln;
       for j:=1 to m do
        write(d[i,j]:2 :2,'   ');
    end;

readln;
end.


тока зачем стока переменных лишних, я не понял sad.gif
-Мария-
Цитата(klem4 @ 18.05.05 7:17)
может так ?


тока зачем стока переменных лишних, я не понял sad.gif

да вот задачка просто напичкана всякими условиями, а что это можно сократить?
klem4
Цитата(-Мария- @ 18.05.05 21:07)
да вот задачка просто напичкана всякими условиями, а что это можно сократить?



ну это зависит от того, что вам нужно сделать ;) в той программе, которую выложил я, добавил ф-ю подсчета суммы столбца, и нахождение максимума среди 3-х сумм, то что вы и просили, остального задания вы не сообщили :no:
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.