IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> задачи на рекурсию и записи, помогите плз
сообщение
Сообщение #1


Гость






огромная порсьба помочь решить задачи:
:molitva:
1) Написать рекурсивную функцию, которая находит минимальный элемент в матрице (двумерном массиве).
2) Создать файл в котором содержится информация троих учащихся (фамилия,имя,телефон,средние оценки по предметам). Вывести на экран фамилию и имя учащегося с максимальной и минимальной оценкой, использовать тип запись.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


2)
Не тестировал - кодил прямо здесь...
Код
Const
  MaxPredmet = 6;
  MaxUchenik = 3;
  FileName = 'Data.dat';
Type
  String16 = String[16];
  NameT = Record
                   F,I   : String16;
                End;
  danT = Record
               Name : NameT;
               Phone : String16;
               Ocen  : Array [1..MaxPredmet] of Real;
           End;
Var
  i,j  : Byte;
  f    : File of DanT;
  dan : DanT;

Procedure EnterData(k : Byte);
Begin
  Write('Фамилия ученика № ',k,' : '); Readln(Dan.name.F);
  Write('Имя ученика № ',k,' : '); Readln(Dan.name.I);
  Write('Телефон ученика № ',k,' : '); Readln(Dan.Phone);
  For j:=1 to MaxPredmet do
  Begin
    Write('Средняя оценка учиника № ',k,' по предмету № ',j,' : '); Readln(Dan.Ocen[j]);
  End;
  Reset(f);
  Write(f,Dan);
  Close(f);
End;

Procedure ViewMinMaxOcenka;
Var
  MinName, MaxName : String;
  MinOc, MaxOc : Real;

  Function FindMinOc : Real;
  Begin
    j:=Dan.Ocen[1];
    For i:=2 to MaxPredmet do
      If j>Dan.Ocen[i] then j:=Dan.Ocen[i];
    FindMinOc:=j;
  End;

  Function FindMaxOc : Real;
  Begin
    j:=Dan.Ocen[1];
    For i:=2 to MaxPredmet do
      If j<Dan.Ocen[i] then j:=Dan.Ocen[i];
    FindMinOc:=j;
  End;

Begin
  Reset(f);
  Read(f,dan);
  MinName:=Dan.name.f+' '+Dan.name.i; MaxName:=MinName;
  MinOc:=FindMinOc; MaxOc:=FindMaxOc;
  While not EOF(f) do
  Begin
    Read(f,Dan);
    If FindMinOc<MinOc then
    Begin
      MinName:=Dan.name.f+' '+Dan.name.i;
      MinOc:=FindMinOc;
    End;
    If FindMaxOc>MaxOc then
    Begin
      MaxName:=Dan.name.f+' '+Dan.name.i;
      MaxOc:=FindMaxOc;
    End;
  End;
  Close(f);
  Writeln(& #39;Фамилия Имя ученика с минимальной оцен
кой ',MinOc:4:2,' : ',MinName);
  Writeln(& #39;Фамилия Имя ученика с максимальной оце
нкой ',MaxOc:4:2,' : ',MaxName)
End;

Begin
  Assign(f,FileName);
  For i:=1 to MaxUchenik do EnterData(i);
  Writeln;
  ViewMinMaxOcenka;
End.

Не исключаю некоторых опечаток и неточностей... будут вопросы - задавай.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


1)
Здесь я не очень понял куда "приладить" рекурсию...


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






СПАСИБО ОГРОМНЕЙШЕЕ !!!!!!!!!!!!!!!!!!!!!!
никогда не забуду.
выручили !
еще раз спасибо !
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Что, неужели работает? И ни одной ошибки/опечатки?
Я же не проверял.... удивительно!


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.12.2024 19:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name