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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2012, 19:28   #1
E.r.r.o.r.
Новичок
Джуниор
 
Регистрация: 22.01.2012
Сообщений: 2
По умолчанию

Помогите пожалуйста,завтра сдавать,а я вообще понятия не имею как написать эту программу =(

Заданы две матрицы А(6,6) и В(6,6). Для матрицы, которая отвечает
заданному условию (1) выполните преобразования (2) в соответствии с
вариантом задания, представленным в табл. 1.
Условие (1) проверить в подпрограмме Function, преобразование
выполнить в подпрограмме Procedure.

1 – больше количество нулевых элементов на главной диагонали
2 – в каждой строке найти максимальный элемент и место, где он
расположен

Ну пожалуйста, хоть кто-нибудь,помогите =(((

Последний раз редактировалось Stilet; 23.01.2012 в 08:44.
E.r.r.o.r. вне форума Ответить с цитированием
Старый 22.01.2012, 21:15   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
1 – больше количество нулевых элементов на главной диагонали
что больше? чего больше?
КОНКРЕТНЕЕ
Цитата:
2 – в каждой строке найти максимальный элемент и место, где он
расположен
Код:
type
    massiv = array[1..n, 1..m] of integer;
    massiv2 = array[1..3, 1..n] of integer;
.......................................................
procedure GetMax (const a: massiv; const rows, cols: byte; var max: massiv2);
var
    i, j: integer;
begin
     for i := 1 to rows do
     begin
         max[1, i] := a[i, 1];
         max[2, i] := i;
         max[3, i] := 1;
         for j := 2 to cols do
             if a[i,j] > max[1, i] then
             begin
                  max[1, i] := a[i, j];
                  max[2, i] := i;
                  max[3, i] := j;
             end;
     end;
end;
что касаемо этой процедуры, то вам нужно было вернуть и позицию и сам максимальный элемент! Да + в каждой строчке!
Поэтому она вернёт массив из 3 строк
в первой мак элемент
во второй номер строки
в третьей номер столбца
Вот ток писал с потолка так что не судите строго
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303

Последний раз редактировалось Hacker19_90; 22.01.2012 в 21:19.
Hacker19_90 вне форума Ответить с цитированием
Старый 23.01.2012, 06:58   #3
E.r.r.o.r.
Новичок
Джуниор
 
Регистрация: 22.01.2012
Сообщений: 2
По умолчанию

Спасибо за помощь=)

Я тут по разбиралась с подобным примером и вот что у меня получилось:
Код:
program lab_2;
uses crt;
type ar=array[1..6,1..6] of integer;
var A,B: ar;
i,j,k1,k2: integer;

function Function1(var X: ar):integer;
   var i,kol: integer;
begin
   kol := 0;
   for i := 1 to 6 do
      if X[i][i]= 0 then
         kol :=kol+1;
   Function1 := kol;
end;

procedure Procedure1(var X: ar);
   var i,j,max,nMax:integer;
begin
   for i := 1 to 6 do
      begin
         max := X[i][1];
         nMax :=1;
         for j := 1 to 6 do
            if max < X[i][j] then
               begin
                  max := X[i][j];
                  nMax := j;
               end;
         writeln('В ',i,' строке максимальный элемент ', max ,' на ', nMax ,' позиции');
      end;
end;

begin
   writeln('Введите матрицу A[6][6]');
   for i:= 1 to 6 do
      for j:=1 to 6 do
         read(A[i][j]);
   writeln('Введите матрицу B[6][6]');
   for i:= 1 to 6 do
      for j:=1 to 6 do
         read(B[i][j]);
   k1:= Function1(A);
   k2:= Function1(B);
   if k1> k2 then
      begin
         writeln('Условию удовлетворяет матрица A');
         Procedure1(A);
      end
   else
       if k2 > k1 then
          begin
             writeln('Условию удовлетворяет матрица B');
             Procedure1(B);
          end
       else
          writeln('Введенные матрицы не удовлетворяют условию');
   readkey;
   Clrscr;
end.

Последний раз редактировалось Stilet; 23.01.2012 в 08:46.
E.r.r.o.r. вне форума Ответить с цитированием
Старый 23.01.2012, 09:34   #4
arrowsf1
Пользователь
 
Аватар для arrowsf1
 
Регистрация: 22.01.2012
Сообщений: 97
По умолчанию

а диагональ что такое???
а так сказка детская 200рублей.
Модераторам: не баньте, у мя такие полезные советы, они стоющие
arrowsf1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составьте с использованием вспомогательных процедур и функций Анастасийка_ Помощь студентам 1 20.12.2011 14:53
Программирование с использованием процедур и функций vampir3001 Помощь студентам 2 14.12.2011 01:05
переделать задачу с использованием процедур или функций mashat99 Помощь студентам 3 08.04.2011 18:24
Программирование с использованием процедур и функций...на Паскале Лизонька Помощь студентам 1 25.02.2010 23:29
Программирование с использованием процедур и функций Лизонька Помощь студентам 2 25.02.2010 22:50