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

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

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

> Упорядочить массив по среднему баллу, задача на Записи
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 34
Пол: Женский

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


Создать массив из 20 элементов,хранящих информацию о студенках факультета.Каждый элемент содержит фамилию,курс,форму обучения,(специалист,бакалавр,магис тр)и оценки по 5 предметам за последнюю сессию.
Упорядочить массив по среднему баллу.Осуществить перевод студентов на следующий курс.Переводятся студенты ,не имеющие задолжностей за последнюю сессию,студенты 5-ого курса(специалисты) и 6-ого курса(магистры)должны быть удалены ,как окончившие курс обучения.
Я сделала,но явно неправильно,и кое где несообразила,как дальше.помогите исправить ошибки и дописать то,что совсем неверно.буду очень благодарна!

Код

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows;

const n=5;
type
formob=(spez,bakal,magis);
zmas=array [1..5]of integer;
telem=record
name:record
FIO:string[30]
curs: 1..6;
end;
pred:zmas;
form:formob;
end;
tmas=array [1..n] of telem;
var
a:tmas;
b:array[1..n]of string[30];// массив студентов,которых переводят
mn,choice,i:Integer;
  exit_:char;
  error_in: boolean;
Function menu :integer; //Вывод меню на экран
begin
    writeln;
    writeln (' ','1.Упорядочить массив по среднему баллу');
    writeln (' ','2.Перевести студентов на следующих курс');
    Writeln (' ','3.Завершение работы.');
    repeat
      write ('Ваш выбор: ');
      readln (choice);
      error_in:=(choice<1) or (choice >3);
      if error_in then writeln ('Ошибка ввода!')
    until not error_in;
    menu:=choice;
end;


procedure form (var a:tmas);
var
k,i,j:integer;
b:telem;
n:integer;
tmp:telem;
begin
  writeln('Ввести ФИО');
  readln(b.name.FIO);
  writeln('Ввести номер формы обучения');
  readln(k);
  case k of
    1: b.form:=spez;
    2: b.form:=bakal;
    3: b.form:=magis
  end;
  writeln('Ввести курс');
  readln(b.name.curs);
  writeln('Ввести оценки');
   for i:=1 to n do
  readln(b.pred[j]);
  a[i]:=b
   end;

Function Sr(b:zmas):integer;
  var
   s1,s,i:integer;
    begin
      S:=0;
      for i:=1 to n do
      begin
        S:=S+S1(b[i].pred);
        Sr:=s1 div 5
      end;
      end;

   procedure sort(var b:tmas);
var
i,j:integer;
tmp:telem;
begin
   for i:=1 to n do
  if(b[i]>b[i+1]) then
    begin
      tmp:=b[i];
      b[i]:=b[i+1];
      b[i+1]:=tmp;
    end;
end;
Procedure perevod (var b:tmas);
var i,k:integer;
i:=1; k:=0;
while  i<= n-k do
//---------------------
Function Dvoechnik (a:tmas);
var i,k:integer;
  for i:=1 to n do
    Begin
      If a[i]<3 then
         k:=k+1
    end;
//---------------------





   SetConsoleOutputCP(1251);
  form(а);
  writeln;
  REPEAT
    mn:=Menu;
    case mn of
     1:begin
          sort(а);

       end;
     2: begin
          Writeln('Перевод на следующий курс');

        end
     end;
    if mn<>3 then
        begin
          Writeln;
          write (' ','Завершить работу? (Y/N)');
          readln(exit_);
        end;
  UNTIL (exit_='y') or (exit_='Y') or (choice=3);
  readln

End.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Профи
****

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

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


Странный у вас преподаватель.
break - это функция прерывания цикла до его завершения по условию. Если у нас нет необходимости проходить цикл,а мы идем до первого появления чего-нибудь,то это экономит время,уменьшая время работы программы.Без него можно обходиться,как продемонстрировал IUnknown, но для этого пришлось пораскинуть мозгами, по крайней мере мне точно. И не всегда от него так просто избавиться.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
natik3   Упорядочить массив по среднему баллу   22.05.2012 3:45
Krjuger   Окей,поможем, давайте только вы скажете,что именно…   22.05.2012 14:58
natik3   Окей,поможем, давайте только вы скажете,что именн…   22.05.2012 16:32
Krjuger   Давайте не лезть вперед паровоза,у вас и без удале…   22.05.2012 17:26
natik3   Давайте не лезть вперед паровоза,у вас и без удал…   22.05.2012 17:56
Krjuger   Значит так,начнем разбор полетов. Tballs=array[1.…   22.05.2012 18:23
natik3   Значит так,начнем разбор полетов. [code=pas] Tbal…   22.05.2012 20:45
Krjuger   Тут есть 2 варианта,либо сначала повысить всем,а п…   22.05.2012 21:17
natik3   Тут есть 2 варианта,либо сначала повысить всем,а …   22.05.2012 21:29
Krjuger   Ненене, ты что то перемудрила.)) procedure LevelU…   22.05.2012 21:53
natik3   Ненене, ты что то перемудрила.)) procedure Level…   22.05.2012 22:02
Krjuger   Эх окей)) const n=3; const m=2; type formob=(…   22.05.2012 23:58
natik3   Эх окей)) const n=3; const m=2; type formob=…   23.05.2012 1:00
natik3   Эх окей)) [code=pas] const n=3; const m=2; type …   3.06.2012 16:14
Krjuger   Вы уж извините,но копаться в том,что вы изменили …   3.06.2012 17:43
natik3   Вы уж извините,но копаться в том,что вы изменили…   3.06.2012 18:25
IUnknown   function Dvoechnik(var a: telem):boolean; var j…   3.06.2012 18:37
Krjuger   Странный у вас преподаватель. break - это функция …   3.06.2012 20:59
natik3   Странный у вас преподаватель. break - это функция…   5.06.2012 1:34
Krjuger   Да я допустил маленькую ошибочку,bеgin еnd не расс…   5.06.2012 1:59
natik3   Да я допустил маленькую ошибочку,bеgin еnd не рас…   5.06.2012 2:05
Krjuger   Окей. Тогда вынесем проверку на двоечника вперед,ч…   5.06.2012 2:26
natik3   Окей. Тогда вынесем проверку на двоечника вперед,…   5.06.2012 2:37
Krjuger   Показывай твой код потому что у мня не переводит..…   5.06.2012 2:42
natik3   Показывай твой код потому что у мня не переводит.…   5.06.2012 2:47
Krjuger   Девушка, либо я дурак,либо что-то тут не так,но во…   5.06.2012 3:00
natik3   Девушка, либо я дурак,либо что-то тут не так,но в…   5.06.2012 3:08
Krjuger   Блииииин, я столько работы зря проделал. Девушка н…   5.06.2012 3:15
natik3   Блииииин, я столько работы зря проделал. Девушка …   5.06.2012 3:26
Krjuger   Вы у меня спрашиваете?????Я условие в глаза не вид…   5.06.2012 3:34
natik3   Вы у меня спрашиваете?????Я условие в глаза не ви…   5.06.2012 3:37
Krjuger   Понимаете, у вас не настолько хорошо структурирова…   5.06.2012 3:51
natik3   Понимаете, у вас не настолько хорошо структуриров…   5.06.2012 3:56
natik3   Понимаете, у вас не настолько хорошо структуриров…   5.06.2012 4:02
Krjuger   То, что четко не обговорено в задании или преподав…   5.06.2012 3:58
Krjuger   Конешно можно, но на мой взгляд это глупость несус…   5.06.2012 4:09
natik3   Конешно можно, но на мой взгляд это глупость несу…   5.06.2012 4:17


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

 





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