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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2008, 23:13   #1
DeVcheNka
 
Регистрация: 20.11.2008
Сообщений: 3
Смущение

Люди, выручайте, плиззз!! Завтра надо сдать лабу, а у меня не получается с текстом программы подружиться. Вся надежда на вас))) Помогите первокурснице...

Дана матрица 9х9. В строках с отрицательными элементами на главной диагонали найти:
1)сумму всех элементов;
2)наибольший из элементов;
3)наименьший из элементов.

З.Ы. подпрограммы еще не учили((

сформировать массив я вот смогла:
Код:
Program lab;
uses crt;
const n=9; m=9;
var a : array[1..n,1..m]of real;
    i, j : integer;
       s: real;
Begin
  clrscr;
  for i:=1 to n do  begin
  writeln;
  for j:=1 to m do begin
  a[i,j]:=-30+random(50)+random;
  write(a[i,j]:7:1);
                            end;
                            end;
но вот дальше что делать не пойму...

Последний раз редактировалось Stilet; 20.11.2008 в 23:22.
DeVcheNka вне форума Ответить с цитированием
Старый 20.11.2008, 23:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну сразу и пиши при вводе:

Код:
Program lab;
uses crt;
const n=9; m=9;
var a : array[1..n,1..m]of real;
    i, j : integer;
       s: real;
Begin
  clrscr;
  for i:=1 to n do  begin
  writeln;
  for j:=1 to m do begin
  a[i,j]:=-30+random(50)+random;
    if (i=j)and(a[i,j]<0) then begin {Если диагональ}
     Summa:=summa+a[i,j]; {НАйдем сумму}
     if a[i,j]>max then max:=a[i,j];{Максимум}
     if a[i,j]>min then min:=a[i,j]; {Минимум}
   end;

  write(a[i,j]:7:1);
                            end;
                            end;
Ну и далее выводи на экран эти переменки
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.11.2008, 23:34   #3
DeVcheNka
 
Регистрация: 20.11.2008
Сообщений: 3
По умолчанию

хм, спс, но там немного не так... в каждой строке найти максимальное, минимальное и сумму элементов, если на главной диагонале в этой строке есть отрицательніе элементы
DeVcheNka вне форума Ответить с цитированием
Старый 20.11.2008, 23:56   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну тоже не сложно.
После ввода такими же циклами проходи и по условию
if (i=j)and(a[i,j]<0) then begin {Если диагональ}
еще одним циклом считай что нужно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.11.2008, 04:13   #5
DeVcheNka
 
Регистрация: 20.11.2008
Сообщений: 3
По умолчанию

for i:=1 to n do
for j:=1 to m do begin
if (i=j) and (a[i,j]<0) then max:=-100;
for k:=1 to n do begin
if a[i,j]>max then max:=a[i,j];
end;
end;

но так почему-то мах только последней строчки получается((( что не так???!!! :'( :'( :'(
DeVcheNka вне форума Ответить с цитированием
Старый 21.11.2008, 07:46   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Код:
uses crt;
const n=9;
var a:array[1..n,1..n]of real;
    i,j:integer;
    s,min,max:real;
begin
clrscr;
randomize;
for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        a[i,j]:=50*random-30;
        write(a[i,j]:7:1);
      end;
    writeln;
  end;
for i:=1 to n do  //идем по строкам
if a[i,i]<0 then //если элемент на главной диагонали отрицательный, то работаем
       begin
          s:=0;min:=a[i,1];max:=a[i,1]; //начальные значения суммы, мин и макс
          for j:=1 to n do  //идем по строке
             begin
               s:=s+a[i,j];
               if a[i,j]<min then min:=a[i,j];
               if a[i,j]>max then max:=a[i,j];
             end;
          writeln('В строке ',i,' s=',s:4:1,' min=',min:4:1,' max=',max:4:1);
       end;  //заканчиваем с этой строкой
readln
end.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица. Сумма элементов главной диагонали RECREATOR Помощь студентам 13 11.05.2011 22:12
мин,макс,нод,нок на делфи melville Помощь студентам 8 10.11.2009 00:20
Вычислить сумму элементов матрицы, расположенные на главной диагонали и выше нее MariyaVo Паскаль, Turbo Pascal, PascalABC.NET 9 10.05.2009 21:19
Матрицы.переставить строку с максимальным элементом на главной диагонали со строкой с заданным номмером м microlab Помощь студентам 3 07.11.2008 09:49
Ограничение формул МИН и МАКС Bu$ter Microsoft Office Excel 2 29.05.2008 09:21