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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2007, 00:28   #1
INTELligent
Новичок
Джуниор
 
Регистрация: 17.12.2007
Сообщений: 1
Печаль Функциональный тип и файлы

Есть задача:характеристикой столбца прямоугольной матрицы m*n является максимальный элемент этого столбца.Составить подпрограмму для вычисления минимальной характеристики в прямоугольной матрицею Найти минимальную характеристику в матрице А(4*5) и В(4*3). Элементы матрицы брать произвольно.
Решить задачу с использованием функционального типа.

И ,посмотрите ,пожалуйста, задачку на файлы:составить программу, определяющую ,является ли элемент "а" файла "Inp.fil" минимальным значением в файле.
Заранее спасибо.
P.S.Прошу, не оставляйте без внимания начинающего компьютэрика
Ах, забыл добавить-на Паскале ,конечно же

Последний раз редактировалось INTELligent; 19.12.2007 в 15:47. Причина: ошибка
INTELligent вне форума Ответить с цитированием
Старый 19.12.2007, 21:39   #2
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
По умолчанию

самое сложное- функциональный тип. Т.е обьявляете:
type tyourtip=function(параметры)...
Потом просто создаете функцию с параметрами которые указали выше , потом глоб переменную типа tyourtip далее вызываете как обычную функцию. Эта функция вычисляет макс. и мин. элементы массива(на форуме много примеров).
bill вне форума Ответить с цитированием
Старый 20.12.2007, 07:46   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вот код с использованием функционального типа. Сам ни разу не делал, но получилось.
Код:
Program Func_type;
uses crt;
type
     Tmatr=array[1..10,1..10] of integer;
     Tmass=array[1..10]of integer;
     FMax=function(a:Tmatr;m,n:integer):integer;
     FMin=function(a:Tmass;n:integer):integer;
var ma,na,mb,nb,i,j,min:integer;
    a,b:Tmatr;
    c:Tmass;
    {$F+}
function MaxStb(a:Tmatr;m,n:integer):integer;
var k,max:integer;
begin
  for i:=1 to m do
    begin
      max:=a[1,j];
      for k:=2 to m do
         begin
           if a[k,j]>max then
               begin
                 max:=a[k,j];
               end;
         end;
    MaxStb:=max;
    end;
end;
function MinEl(a:Tmass;n:integer):integer;
begin
  min:=a[1];
  for i:=2 to n do
         begin
           if c[i]<min then
               begin
                 min:=c[i];
               end;
         end;
  MinEl:=min;
end;
{$F-}
procedure MinChar(a:Tmatr;m,n:integer;F1:Fmax;F2:Fmin);
begin
for j:=1 to n do
  begin
    c[j]:=F1(a,m,n);
  end;
writeln('max elem v stb matr:');
for i:=1 to n do
  write(c[i],' ');
  writeln;
readln;
min:=F2(c,n);
writeln('MinChar matr=',min);
readln;
end;
begin
clrscr;
write('ma=');readln(ma);
write('na=');readln(na);
write('mb=');readln(mb);
write('nb=');readln(nb);
randomize;
writeln('matrix A:');
for i:=1 to ma do
  begin
    for j:=1 to na do
      begin
        a[i,j]:=random(20);
        write(a[i,j]:3);
      end;
  writeln;
  end;
readln;
MinChar(a,ma,na,MaxStb,MinEl);
writeln('matrix B:');
for i:=1 to mb do
  begin
    for j:=1 to nb do
      begin
        b[i,j]:=random(20);
        write(b[i,j]:3);
      end;
  writeln;
  end;
readln;
MinChar(b,mb,nb,MaxStb,MinEl);
end.

Последний раз редактировалось puporev; 20.12.2007 в 12:07.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы NeiL Win Api 3 24.07.2008 17:02
Файлы. BR@BUS Помощь студентам 5 09.04.2008 19:35
Файлы Logan Паскаль, Turbo Pascal, PascalABC.NET 6 01.04.2008 10:15
Файлы madmot Операционные системы общие вопросы 3 06.02.2008 12:10
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53