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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2012, 00:46   #1
mrX91
Пользователь
 
Регистрация: 05.02.2010
Сообщений: 12
По умолчанию Массивы

Помогите исправить алгоритм на динамический массив)

Дана целочисленная прямоугольная матрица. Определить максимум среди сумм диагоналей, параллельных главной диагонали.

Код:
var n,i,j,k,l,m,max:integer;
    a:array[1..20,1..20]of integer;
    b,c:array[1..38]of integer;
begin

write('n=');readln(n);
randomize;
Writeln('Ishodnaja matrica:');
for i:=1 to n do
   begin
     for j:=1 to n do
         begin
           a[i,j]:=random(10);
           write(a[i,j]:3);
         end;
      writeln;
   end;
readln;
for l:=1 to n-1 do   //считаем суммы диагоналей выше главной
   begin
     for i:=1 to n-1 do
       begin
         for j:=2 to n do
         if j=i+l then
            begin
              b[l]:=b[l]+a[i,j]; //заносим их в массив
            end;
       end;
  end;
for l:=1 to n-1 do     //считаем суммы в диагоналях ниже главной
   begin
     for i:=2 to n do
       begin
         for j:=1 to n-1 do
         if j=i-l then
           begin
             c[l]:=c[l]+a[i,j];  //записываем их в массив
          end;
       end;
  end;
for i:=n to 2*n-2 do   //собираем два массива в один
b[i]:=c[i-n+1];
max:=b[1];
for i:=2 to n do
if b[i]>max then max:=b[i];  //находим максимум
writeln('max=',max);
readln;
end.
mrX91 вне форума Ответить с цитированием
Старый 21.06.2012, 04:19   #2
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

Вот динамический массив:
Код:
  Var 
    A:array of array of integer;
    b,c:array of integer;
    p,n,m:integer;
{p-длинна массивов b и c; n- кол-во строк матрицы а, m- кол-во столбцов матрицы а}

begin
Write('Vevdite kol-vo strok maztrizi A: ');
Readln(n);
Write('Vevdite kol-vo stolbzov maztrizi A: ');
Readln(m);
SetLegth(A,n,m); //Устанавливаем размер массива
write('Vvedite razmer massivov b и c : ');readln(p);
randomize;
SetLength(b,p);
SetLength(c,p);
Writeln('Ishodnaja matrica:');

   ...

end.
__________________
<---- Весы благодарности находятся там.
<----Весы Там.
Npwas вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
Двумерные массивы(матрица) 2)Строковые массивы(строки): 3)Структуры nuriyat Помощь студентам 1 21.01.2012 16:16
Двумерные массивы(массивы указателей на массивы) krytishka99 Помощь студентам 1 29.12.2011 19:51
Динамические массивы и массивы варианты N@stya Помощь студентам 0 11.06.2010 21:09
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12