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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2010, 20:12   #1
McJordan
Заблокирован
 
Регистрация: 14.05.2010
Сообщений: 11
По умолчанию Подпрограммы и обработка матриц

Задана квадратная матрица A размером nxn (n<=10), состоящая из действительных элементов. Найти сумму всех ее отрицательных элементов и заменить ею все диагональные элементы этой
матрицы.
McJordan вне форума Ответить с цитированием
Старый 26.08.2010, 02:41   #2
Stranger333
Пользователь
 
Аватар для Stranger333
 
Регистрация: 19.05.2009
Сообщений: 98
По умолчанию

Код:
const n=3;
var a : array [1..n,1..n] of real;
    i,j:integer; s:real;
begin
  for i:=1 to n do
    for j:=1 to n do
      begin
        writeln('a[',i,',',j,']=');
        readln(a[i,j]);
      end;
  s:=0;
  for i:=1 to n do
    for j:=1 to n do
      if a[i,j]<0 then s:=s+a[i,j];
  for i:=1 to n do
    for j:=1 to n do
      if (i=j) or (i+j=n+1) then a[i,j]:=s;
  for i:=1 to n do
    begin
      for j:=1 to n do
        begin
          write(a[i,j]:3:2);
        end;
      writeln;
    end;
    readln;
end.
Stranger333 вне форума Ответить с цитированием
Старый 26.08.2010, 07:52   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предлагаю упростить написанное:
Код:
const n=3;
var a : array [1..n,1..n] of real;
    i,j:integer; s:real;
begin
  s:=0;
  for i:=1 to n do
    for j:=1 to n do
      begin
        a[i,j]:=50-random(100);
        writeln('a[',i,',',j,']=',a[i,j]:5:2);
        if a[i,j]<0 then s:=s+a[i,j];
      end;

  writeln;
  for i:=1 to n do  a[i,i]:=s;
  for i:=1 to n do for j:=1 to n do
        begin
          write(a[i,j]:10:2);
        end;
      writeln;
    end;
    readln;
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка Матриц(Упорядочивание Элементов,Вывод На Экран Матриц При Условии...) timepoka Помощь студентам 8 01.07.2011 13:20
обработка матриц в с++ прянька Помощь студентам 1 22.11.2009 23:40
Подпрограммы и обработка матриц Pravednik Помощь студентам 3 20.01.2008 14:41