Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2008, 18:50   #1
deu4er
Пользователь
 
Регистрация: 24.10.2008
Сообщений: 18
По умолчанию Написал прогу в паскале...

Училка прикопалась, сказала вывести в ней ещё 2 матрицы - первкю размером 5 на 1 из сумм строк, вторую 1 на 10 из сумм столбцов. Помогите это сделать. У меня не че не получается.

Program Max_i_Min;
Const n=5;
m=10;
Type mymas=array [1..n, 1..m] of integer;
Var a:mymas;
i, j: integer;
max1, max2, min1, min2, s: integer;
stroka_max, stroka_min: integer;
stolbec_max, stolbec_min: integer;

Procedure BBog;
Begin
writeln('BBeguTe MaccuB');
for i:=1 to n do
begin
for j:=1 to m do
(a[i,j]):=random(5);
end;
end;

Procedure BbIBog;
Begin
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:5);
writeln;
end;
end;

Procedure CTpoka_MuH_u_Makc;
Begin
for i:=1 to 1 do
begin
S:=0;
for j:=1 to m do S:=S+a[i,j];
min1:=S;
max1:=S;
stroka_max:=i;
stroka_min:=i;
end;


for i:=2 to n do
begin
S:=0;
for j:=1 to m do S:=S+a[i,j];
if S>max1 then
begin
max1:=S;
stroka_min:=i;
end;

if S<min1 then
begin
min1:=S;
stroka_max:=i;
end;
end;
writeln('cyMma min=',min1,' cTpoKa=',stroka_max);
writeln('cyMMa max=',max1,' cTpoKa=',stroka_min);
End;

Procedure CToJI6eLL_MuH_u_Makc;
begin
for j:=1 to 1 do begin
S:=0;
for i:=1 to n do S:=S+a[i,j];
max2:=S;
min2:=S;
stolbec_max:=j;
stolbec_min:=j;
end;

for j:=2 to m do
begin
S:=0;
for i:=1 to n do S:=S+a[i,j];
if S>max2 then
begin
max2:=S;
stolbec_max:=j;
end;

if S<min2 then
begin
min2:=S;
stolbec_min:=j;
end;
end;
writeln('cyMMa min=',min2,' ctoJI6eLL=',stolbec_min);
writeln('cyMMa max=',max2,' cToJI6eLL=',stolbec_max);
End;

BEGIN
BBog;
BbIBog;
CTpoka_MuH_u_Makc;
CToJI6eLL_MuH_u_Makc;
readln
End.
deu4er вне форума Ответить с цитированием
Старый 19.11.2008, 19:39   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Я думаю что суммы по строкам и столбцам надо не в матрицы выводить, а в линейные массивы, это и есть матрица [1,n].
Поправил ошибки, перепутаны были минимальные и максимальные, а также убрал лишние циклы. Короче посмотрите, будут вопросы, пишите.
Код:
Program Max_i_Min;
uses crt;
Const n=5;
      m=10;
Var a:array [1..n, 1..m] of integer;
    sstr:array[1..n] of integer;
    sstb:array[1..m] of integer;
    i, j: integer;
    max1, max2, min1, min2, s: integer;
    stroka_max, stroka_min: integer;
    stolbec_max, stolbec_min: integer;

Procedure BBog;
Begin
writeln('BBeguTe MaccuB');
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(5);
end;

Procedure BbIBog;
Begin
for i:=1 to n do
   begin
     for j:=1 to m do
     write(a[i,j]:5);
     writeln;
   end;
end;

Procedure CTpoka_MuH_u_Makc;
Begin
max1:=-maxint;stroka_max:=1;min1:=maxint;stroka_min:=1;
for i:=1 to n do
  begin
    S:=0;
    for j:=1 to m do 
    S:=S+a[i,j];
    sstr[i]:=S;
    if S>max1 then
      begin
        max1:=S;
        stroka_max:=i;
      end;
    if S<min1 then
      begin
       min1:=S;
       stroka_min:=i;
      end;
   end;
writeln('cyMma min=',min1,' cTpoKa=',stroka_min);
writeln('cyMMa max=',max1,' cTpoKa=',stroka_max);
writeln;
End;

Procedure CToJI6eLL_MuH_u_Makc;
begin
max2:=-maxint;stolbec_max:=1;min2:=maxint;stolbec_min:=1;
for j:=1 to m do
   begin
     S:=0;
     for i:=1 to n do
     S:=S+a[i,j];
     sstb[j]:=S;
     if S>max2 then
        begin
          max2:=S;
          stolbec_max:=j;
        end;
     if S<min2 then
         begin
            min2:=S;
            stolbec_min:=j;
         end;
    end;
writeln('cyMMa min=',min2,' ctoJI6eLL=',stolbec_min);
writeln('cyMMa max=',max2,' cToJI6eLL=',stolbec_max);
writeln;
End;

BEGIN
clrscr;
randomize;
BBog;
BbIBog;
CTpoka_MuH_u_Makc;
CToJI6eLL_MuH_u_Makc;
writeln('Massiv summ strok:');
for i:=1 to n do
write (sstr[i],' ');
writeln;
writeln;
writeln('Massiv summ stolbcov:');
for i:=1 to m do
write (sstb[i],' ');
readln
End.
puporev вне форума Ответить с цитированием
Старый 19.11.2008, 20:08   #3
deu4er
Пользователь
 
Регистрация: 24.10.2008
Сообщений: 18
По умолчанию

спасибо Вам огромное!
deu4er вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно составить прогу в паскале по примеру NATKA Помощь студентам 5 27.11.2009 14:55
написал книгу и хочу продавать через интернет celebrex Свободное общение 10 23.07.2008 11:49
Написал бэкдор, оцените KORN Софт 7 18.11.2007 08:55