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

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

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

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Упорядочить массив по среднему баллу, задача на Записи
сообщение
Сообщение #21


Новичок
*

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

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


Цитата(Krjuger @ 4.06.2012 22:59) *

Да я допустил маленькую ошибочку,bеgin еnd не расставил, щас просто программирую больше на дугом языке.

function LevelUp(var a: tmas; p:integer):integer;
var
i:integer;
begin
for i:=n downto 1 do
begin
if ((a[i].f_study=magis) and (a[i].curs<6)) then
begin
if not Dvoechnik(a[i]) then
a[i].curs:=a[i].curs+1;
end
else
begin
if ((a[i].f_study=spez) and (a[i].curs<5)) then
begin
if not Dvoechnik(a[i]) then
a[i].curs:=a[i].curs+1;
end
else
begin
if ((a[i].f_study=bakal) and (a[i].curs<4)) then
begin
if not Dvoechnik(a[i]) then
a[i].curs:=a[i].curs+1
end
else
Delete(a,p,i);
end;
end;
end;
LevelUp:=p;
end;


Вот так вроде работает.
Но я использовал свое условие,а не IUnknown


он все равно двоечников переводит...( их не надо удалять но и переводить не надо.это функция должна быть как условие...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


Профи
****

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

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


Окей. Тогда вынесем проверку на двоечника вперед,чтобы в случае чего вообще не рассматривать проверку на специальность и курс.

function LevelUp(var a: tmas; p:integer):integer;
var
i:integer;
begin
for i:=n downto 1 do
begin
if not Dvoechnik(a[i]) then
begin
if ((a[i].f_study=magis) and (a[i].curs<6)) then
a[i].curs:=a[i].curs+1
else
begin
if ((a[i].f_study=spez) and (a[i].curs<5)) then
a[i].curs:=a[i].curs+1
else
begin
if ((a[i].f_study=bakal) and (a[i].curs<4)) then
a[i].curs:=a[i].curs+1
else
Delete(a,p,i);
end;
end;
end;
end;
LevelUp:=p;
end;

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Новичок
*

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

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


Цитата(Krjuger @ 4.06.2012 23:26) *

Окей. Тогда вынесем проверку на двоечника вперед,чтобы в случае чего вообще не рассматривать проверку на специальность и курс.

function LevelUp(var a: tmas; p:integer):integer;
var
i:integer;
begin
for i:=n downto 1 do
begin
if not Dvoechnik(a[i]) then
begin
if ((a[i].f_study=magis) and (a[i].curs<6)) then
a[i].curs:=a[i].curs+1
else
begin
if ((a[i].f_study=spez) and (a[i].curs<5)) then
a[i].curs:=a[i].curs+1
else
begin
if ((a[i].f_study=bakal) and (a[i].curs<4)) then
a[i].curs:=a[i].curs+1
else
Delete(a,p,i);
end;
end;
end;
end;
LevelUp:=p;
end;




я знаю,что я тебя достала,но все равно двоечников переводит..(
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #24


Профи
****

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

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


Показывай твой код потому что у мня не переводит......
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #25


Новичок
*

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

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


Цитата(Krjuger @ 4.06.2012 23:42) *

Показывай твой код потому что у мня не переводит......

Код

program str155n10;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  windows;

const n=3;   //кол во студентов
const m=2;    //кол-во предметов
type
    formob=(spez,bakal,magis);
    Tballs=array[1..m] of 1..5;
    telem=record
        FIO:string[35];
        curs: integer;
        f_study:formob;
        balls:Tballs;
        Med_ball:real;
   end;
   tmas=array [1..n] of telem;


  function menu :integer;
  var
    choice:integer;
    error_in: boolean;
  begin
      writeln;
      writeln (' ','1.Сортировка');
      writeln (' ','2.Перевод на следующий курс');
      writeln (' ','3.Выход');
      error_in:=false;
      repeat
            write ('Choice: ');
            readln (choice);
            error_in:=(choice<1) or (choice >3);
            if error_in then
                 writeln ('Error!')
      until not error_in;
      menu:=choice;
  end;

  procedure Add (var a:telem);
  var
   k,i:integer;
   b:telem;
   s:integer;
   begin
     writeln('ФИО');
     readln(b.FIO);
     writeln('Номер формы обучения(1.специалист 2. бакалавр 3. магистр)');
     readln(k);
     case k of
        1: b.f_study:=spez;
        2: b.f_study:=bakal;
        3: b.f_study:=magis
     end;
     writeln('Курс');
     readln(b.curs);
     writeln('Оценка');
     s:=0;
     for i:=1 to m do
     begin
        readln(b.balls[i]);
        s:=s+b.balls[i];
     end;
     b.med_ball:=s/m;
     a:=b;
   end;

   procedure swap(var x,y: telem);
   var
    t: telem;
   begin
    t := x;
    x := y;
    y := t
   end;

   procedure sort(var b:tmas);
   var
   i,j:integer;
   tmp:telem;
   begin
    for j:=1 to N-1 do
    for i:=1 to N-j do
     if (b[i].med_ball > b[i+1].med_ball) then
      swap(b[i],b[i+1]);
   end;

procedure Delete(var a:tmas; var p:integer; i:integer);
var
j:integer;
begin
if i<n then
  begin
    for j:=i+1 to n-p do
      a[j-1]:=a[j];
  end;
  p:=p+1;
end;

function Dvoechnik(var a: telem):boolean;
var
flag:boolean;
i,j:integer;
begin
flag:=false;
   for j:=1 to m do
    begin
     if (a.balls[j]<3) then
      begin
       flag:=true;
      end;
    end;
Dvoechnik:=flag;
end;
function LevelUp(var a: tmas; p:integer):integer;
var
i:integer;
begin
for i:=n downto 1 do
  begin
    if not Dvoechnik(a[i]) then
     begin
      if ((a[i].f_study=magis) and (a[i].curs<6)) then
        a[i].curs:=a[i].curs+1
      else
      begin
      if ((a[i].f_study=spez) and (a[i].curs<5)) then
         a[i].curs:=a[i].curs+1
      else
       begin
        if ((a[i].f_study=bakal) and (a[i].curs<4)) then
         a[i].curs:=a[i].curs+1
        else
         Delete(a,p,i);
       end;
      end;
     end;
    end;
  LevelUp:=p;
end;

var
   a:tmas;
   mn,i:integer;
   exit_:char;
   p:integer;
begin
setconsolecp(1251);
setconsoleoutputcp(1251);
for i:=1 to n do
  Add(a[i]);
  writeln;
  REPEAT
    p:=0;
    mn:=Menu;
    case mn of
      1:begin
        sort(a);
        for i:=1 to n do
        begin
         write(a[i].FIO+' ');
         writeln(a[i].med_ball:4:4);
        end;
        end;
      2: begin
          p:=LevelUp(a,p);
          for i:=1 to n-p do
          begin
           write(a[i].FIO+' ');
         //  writeln(a[i].med_ball:4:4);
          end;
         end;
     else
      begin
       writeln;
       write (' ','Завершить работу? (Y/N)');
       readln(exit_);
      end;
     end;
  UNTIL (exit_='y') or (exit_='Y') or (mn=3);
  readln;
end.

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


Профи
****

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

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


Девушка, либо я дурак,либо что-то тут не так,но вот смотрите, вот что я запускаю.

const n=3; {кол во студентов }
const m=2; {//кол-во предметов }
type
formob=(spez,bakal,magis);
Tballs=array[1..m] of 1..5;
telem=record
FIO:string[35];
curs: integer;
f_study:formob;
balls:Tballs;
Med_ball:real;
end;
tmas=array [1..n] of telem;


function menu :integer;
var
choice:integer;
error_in: boolean;
begin
writeln;
writeln (' ','1.Сортировка');
writeln (' ','2.Перевод на следующий курс');
writeln (' ','3.Выход');
error_in:=false;
repeat
write ('Choice: ');
readln (choice);
error_in:=(choice<1) or (choice >3);
if error_in then
writeln ('Error!')
until not error_in;
menu:=choice;
end;

procedure Add (var a:telem);
var
k,i:integer;
b:telem;
s:integer;
begin
writeln('ФИО');
readln(b.FIO);
writeln('Номер формы обучения(1.специалист 2. бакалавр 3. магистр)');
readln(k);
case k of
1: b.f_study:=spez;
2: b.f_study:=bakal;
3: b.f_study:=magis
end;
writeln('Курс');
readln(b.curs);
writeln('Оценка');
s:=0;
for i:=1 to m do
begin
readln(b.balls[i]);
s:=s+b.balls[i];
end;
b.med_ball:=s/m;
a:=b;
end;

procedure swap(var x,y: telem);
var
t: telem;
begin
t := x;
x := y;
y := t
end;

procedure sort(var b:tmas);
var
i,j:integer;
tmp:telem;
begin
for j:=1 to N-1 do
for i:=1 to N-j do
if (b[i].med_ball > b[i+1].med_ball) then
swap(b[i],b[i+1]);
end;

procedure Delete(var a:tmas; var p:integer; i:integer);
var
j:integer;
begin
if i<n then
begin
for j:=i+1 to n-p do
a[j-1]:=a[j];
end;
p:=p+1;
end;

function Dvoechnik(var a: telem):boolean;
var
flag:boolean;
i,j:integer;
begin
flag:=false;
for j:=1 to m do
begin
if (a.balls[j]<3) then
begin
flag:=true;
end;
end;
Dvoechnik:=flag;
end;
function LevelUp(var a: tmas; p:integer):integer;
var
i:integer;
begin
for i:=n downto 1 do
begin
if not Dvoechnik(a[i]) then
begin
if ((a[i].f_study=magis) and (a[i].curs<6)) then
a[i].curs:=a[i].curs+1
else
begin
if ((a[i].f_study=spez) and (a[i].curs<5)) then
a[i].curs:=a[i].curs+1
else
begin
if ((a[i].f_study=bakal) and (a[i].curs<4)) then
a[i].curs:=a[i].curs+1
else
Delete(a,p,i);
end;
end;
end;
end;
LevelUp:=p;
end;

var
a:tmas;
mn,i:integer;
exit_:char;
p:integer;
begin
for i:=1 to n do
Add(a[i]);
writeln;
REPEAT
p:=0;
mn:=Menu;
case mn of
1:begin
sort(a);
for i:=1 to n do
begin
write(a[i].FIO+' ');
writeln(a[i].med_ball:4:4);
end;
end;
2: begin
p:=LevelUp(a,p);
for i:=1 to n-p do
begin
write(a[i].FIO+' ');
writeln(a[i].curs);
end;
end;
else
begin
writeln;
write (' ','Завершить работу? (Y/N)');
readln(exit_);
end;
end;
UNTIL (exit_='y') or (exit_='Y') or (mn=3);
readln;
end.


Я удалил всякие satcosole потому,что у меня турбопаскаль,но сути дела не меняет.
Вот что я запускаю
qwerty
2
5
3
3
asdfg
2
5
4
2
zxcvb
2
2
4
4
В итоге на выходе у меня написано.
asdfg 5, собственно он остался на 5 курсе из-за двойки и zxcvb переведен на 3 курс,а qwerty был удален.
Что я делаю не так????????????
Дайте мне тесты,когда это не работает????????

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #27


Новичок
*

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

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


Цитата(Krjuger @ 5.06.2012 0:00) *

Девушка, либо я дурак,либо что-то тут не так,но вот смотрите, вот что я запускаю.

const n=3; {кол во студентов }
const m=2; {//кол-во предметов }
type
formob=(spez,bakal,magis);
Tballs=array[1..m] of 1..5;
telem=record
FIO:string[35];
curs: integer;
f_study:formob;
balls:Tballs;
Med_ball:real;
end;
tmas=array [1..n] of telem;
function menu :integer;
var
choice:integer;
error_in: boolean;
begin
writeln;
writeln (' ','1.Сортировка');
writeln (' ','2.Перевод на следующий курс');
writeln (' ','3.Выход');
error_in:=false;
repeat
write ('Choice: ');
readln (choice);
error_in:=(choice<1) or (choice >3);
if error_in then
writeln ('Error!')
until not error_in;
menu:=choice;
end;

procedure Add (var a:telem);
var
k,i:integer;
b:telem;
s:integer;
begin
writeln('ФИО');
readln(b.FIO);
writeln('Номер формы обучения(1.специалист 2. бакалавр 3. магистр)');
readln(k);
case k of
1: b.f_study:=spez;
2: b.f_study:=bakal;
3: b.f_study:=magis
end;
writeln('Курс');
readln(b.curs);
writeln('Оценка');
s:=0;
for i:=1 to m do
begin
readln(b.balls[i]);
s:=s+b.balls[i];
end;
b.med_ball:=s/m;
a:=b;
end;

procedure swap(var x,y: telem);
var
t: telem;
begin
t := x;
x := y;
y := t
end;

procedure sort(var b:tmas);
var
i,j:integer;
tmp:telem;
begin
for j:=1 to N-1 do
for i:=1 to N-j do
if (b[i].med_ball > b[i+1].med_ball) then
swap(b[i],b[i+1]);
end;

procedure Delete(var a:tmas; var p:integer; i:integer);
var
j:integer;
begin
if i<n then
begin
for j:=i+1 to n-p do
a[j-1]:=a[j];
end;
p:=p+1;
end;

function Dvoechnik(var a: telem):boolean;
var
flag:boolean;
i,j:integer;
begin
flag:=false;
for j:=1 to m do
begin
if (a.balls[j]<3) then
begin
flag:=true;
end;
end;
Dvoechnik:=flag;
end;
function LevelUp(var a: tmas; p:integer):integer;
var
i:integer;
begin
for i:=n downto 1 do
begin
if not Dvoechnik(a[i]) then
begin
if ((a[i].f_study=magis) and (a[i].curs<6)) then
a[i].curs:=a[i].curs+1
else
begin
if ((a[i].f_study=spez) and (a[i].curs<5)) then
a[i].curs:=a[i].curs+1
else
begin
if ((a[i].f_study=bakal) and (a[i].curs<4)) then
a[i].curs:=a[i].curs+1
else
Delete(a,p,i);
end;
end;
end;
end;
LevelUp:=p;
end;

var
a:tmas;
mn,i:integer;
exit_:char;
p:integer;
begin
for i:=1 to n do
Add(a[i]);
writeln;
REPEAT
p:=0;
mn:=Menu;
case mn of
1:begin
sort(a);
for i:=1 to n do
begin
write(a[i].FIO+' ');
writeln(a[i].med_ball:4:4);
end;
end;
2: begin
p:=LevelUp(a,p);
for i:=1 to n-p do
begin
write(a[i].FIO+' ');
writeln(a[i].curs);
end;
end;
else
begin
writeln;
write (' ','Завершить работу? (Y/N)');
readln(exit_);
end;
end;
UNTIL (exit_='y') or (exit_='Y') or (mn=3);
readln;
end.


Я удалил всякие satcosole потому,что у меня турбопаскаль,но сути дела не меняет.
Вот что я запускаю
qwerty
2
5
3
3
asdfg
2
5
4
2
zxcvb
2
2
4
4
В итоге на выходе у меня написано.
asdfg 5, собственно он остался на 5 курсе из-за двойки и zxcvb переведен на 3 курс,а qwerty был удален.
Что я делаю не так????????????
Дайте мне тесты,когда это не работает????????


смотрите у вас у asdfg есть оценка 2 и,если я правильно понимаю,когда мы выбираем пункт перевод на следующий курс он у нас печатает его в списке переведенных?или как?

вот смотрите,что ввожу я
ФИО
иванов
Номер формы обучения(1.специалист 2. бакалавр 3. магистр)
1
Курс
5
Оценка
4
5
ФИО
сидоров
Номер формы обучения(1.специалист 2. бакалавр 3. магистр)
2
Курс
3
Оценка
2
5
ФИО
петров
Номер формы обучения(1.специалист 2. бакалавр 3. магистр)
3
Курс
2
Оценка
4
5


1.Сортировка
2.Перевод на следующий курс
3.Выход
Choice: 2
сидоров 3.5000
петров 4.5000

1.Сортировка
2.Перевод на следующий курс
3.Выход
Choice:

он переводит сидорова...хотя он не должен этого делать,т к у него есть оценка 2!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #28


Профи
****

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

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


Блииииин, я столько работы зря проделал.
Девушка не глупите.
Он выводит не список тех кого переводит, а список ВСЕХ кто щас учится, я же дописал,чтобы выводило номер курса.Правильно, он выводит сидорова,потому что он не закончил обучение, он остался на том же курсе,что и был.
Выведите вместо средней оценки номер их курсов и все увидите.
Если не верите, то повысьте их еще на курс,если бы сидорова повышали на курс,то при втором повышении на курс он оканчивал бы обучение и был бы удален из списка.

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #29


Новичок
*

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

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


Цитата(Krjuger @ 5.06.2012 0:15) *

Блииииин, я столько работы зря проделал.
Девушка не глупите.
Он выводит не список тех кого переводит, а список ВСЕХ кто щас учится, я же дописал,чтобы выводило номер курса.Правильно, он выводит сидорова,потому что он не закончил обучение, он остался на том же курсе,что и был.
Выведите вместо средней оценки номер их курсов и все увидите.
Если не верите, то повысьте их еще на курс,если бы сидорова повышали на курс,то при втором повышении на курс он оканчивал бы обучение и был бы удален из списка.

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


Профи
****

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

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


Вы у меня спрашиваете?????Я условие в глаза не видел)))))))
Но если руководстоваться здравым смыслом.
Если студент сдает сессию без двоек, его переводят на слудующий курс, если курс последний для его формата обучения, то считается,что он закончил институт, то есть его удаляют из списка учащихся.
Если студент получает хотябы 1 двойку, то в реальной жизни есть несколько вариантов, первый, его отчисляют,что изначально я и сделал, вы сказали, что его не надо отчислять, это значит,что его оставляют на второй год,но студентом то он быть не перестает,следовательно из списка студентов не пропадает.
Цитата
а только 5 курса (специалитета) и 6-ого курса (магистратуры) проверить на наличие двоек и если они присутствуют то тогда оставляем,а если отсутствуют тогда удаляем их?правильно я прнимаю?

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


Новичок
*

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

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


Цитата(Krjuger @ 5.06.2012 0:34) *

Вы у меня спрашиваете?????Я условие в глаза не видел)))))))
Но если руководстоваться здравым смыслом.
Если студент сдает сессию без двоек, его переводят на слудующий курс, если курс последний для его формата обучения, то считается,что он закончил институт, то есть его удаляют из списка учащихся.
Если студент получает хотябы 1 двойку, то в реальной жизни есть несколько вариантов, первый, его отчисляют,что изначально я и сделал, вы сказали, что его не надо отчислять, это значит,что его оставляют на второй год,но студентом то он быть не перестает,следовательно из списка студентов не пропадает.

Не совсем, проверяем студентов всех курсов если у них есть двойка,то оставляем их на том же курсе,где они и были.Если нет двоек, переводим, а если они еще и на последнем курсе,так вообще удаляем,считая,что они закончили обучение.

я чувствую себя идиоткой..наверно я ей и являюсь..((( я узнаю подробно завтра у преподавателя...спасибо большое за помощь!

Добавлено через 5 мин.
Цитата(Krjuger @ 5.06.2012 0:34) *

Вы у меня спрашиваете?????Я условие в глаза не видел)))))))
Но если руководстоваться здравым смыслом.
Если студент сдает сессию без двоек, его переводят на слудующий курс, если курс последний для его формата обучения, то считается,что он закончил институт, то есть его удаляют из списка учащихся.
Если студент получает хотябы 1 двойку, то в реальной жизни есть несколько вариантов, первый, его отчисляют,что изначально я и сделал, вы сказали, что его не надо отчислять, это значит,что его оставляют на второй год,но студентом то он быть не перестает,следовательно из списка студентов не пропадает.

Не совсем, проверяем студентов всех курсов если у них есть двойка,то оставляем их на том же курсе,где они и были.Если нет двоек, переводим, а если они еще и на последнем курсе,так вообще удаляем,считая,что они закончили обучение.

у меня появилась еще одна глупая мысль..смотрите..нам по условию надо перевести студентов на следующий курс...но если они имеют хотя бы одну двойку,то они остаются на второй год => в списке тех студентов,которых перевели на следующий курс они не должны быть..вот поэтому меня и смущало то,что оно выводит...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #32


Профи
****

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

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


Понимаете, у вас не настолько хорошо структурированные данные.Если бы у вас для каждой специальности для каждого курса был свой собственный список студентов, тогда да это имело бы смысл,а так вы не выводите ни по курсам, ни по специальностям, какой смысл выводить тех,кто переведен,если люди с двойкой тоже являются студентами, просто их товарищи перешли на курс выше, а они остались.
Проще вывести всех,указав, что эти остались на 2 курсе, эти переведены на 3, эти на 4 и тд.
Конешно же можно было бы сделать подменю, сделать функцию,которая выводила бы всех студентов заданной специальности на определенном курсе,но каждый раз вбивать этот список,чтобы хотябы по 2-3 человека на каждой специальности хотябы на половине курсов........это порядка 15-20 человек. я точно не стану такое проверять.

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #33


Новичок
*

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

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


Цитата(Krjuger @ 5.06.2012 0:51) *

Понимаете, у вас не настолько хорошо структурированные данные.Если бы у вас для каждой специальности для каждого курса был свой собственный список студентов, тогда да это имело бы смысл,а так вы не выводите ни по курсам, ни по специальностям, какой смысл выводить тех,кто переведен,если люди с двойкой тоже являются студентами, просто их товарищи перешли на курс выше, а они остались.
Проще вывести всех,указав, что эти остались на 2 курсе, эти переведены на 3, эти на 4 и тд.
Конешно же можно было бы сделать подменю, сделать функцию,которая выводила бы всех студентов заданной специальности на определенном курсе,но каждый раз вбивать этот список,чтобы хотябы по 2-3 человека на каждой специальности хотябы на половине курсов........это порядка 15-20 человек. я точно не стану такое проверять.

спасибо..я завтра все узнаю.как точно надо делать..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #34


Профи
****

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

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


То, что четко не обговорено в задании или преподавателем, в университете остается на рассмотрении того,кто выполняет задание, я больше чем уверен,если вы сможете обосновать то, почему вы сделали именно так,у вас примут задачу.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #35


Новичок
*

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

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


Цитата(Krjuger @ 5.06.2012 0:51) *

Понимаете, у вас не настолько хорошо структурированные данные.Если бы у вас для каждой специальности для каждого курса был свой собственный список студентов, тогда да это имело бы смысл,а так вы не выводите ни по курсам, ни по специальностям, какой смысл выводить тех,кто переведен,если люди с двойкой тоже являются студентами, просто их товарищи перешли на курс выше, а они остались.
Проще вывести всех,указав, что эти остались на 2 курсе, эти переведены на 3, эти на 4 и тд.
Конешно же можно было бы сделать подменю, сделать функцию,которая выводила бы всех студентов заданной специальности на определенном курсе,но каждый раз вбивать этот список,чтобы хотябы по 2-3 человека на каждой специальности хотябы на половине курсов........это порядка 15-20 человек. я точно не стану такое проверять.

А нельзя сделать в этой же задачи так,чтобы студенты с двойками не выводились..т е выводились только те,которые ПЕРЕВЕЛИСЬ на следующих курс...без вбивания каждой специальности и каждого курса....?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #36


Профи
****

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

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


Конешно можно, но на мой взгляд это глупость несустветная.
2: begin
p:=LevelUp(a,p);
for i:=1 to n-p do
begin
if not Dvoechnik(a[i]) then
begin
write(a[i].FIO+' ');
writeln(a[i].curs);
end;
end;
end;

Я забыл про функцию двоечника, лучше использовать ее.

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #37


Новичок
*

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

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


Цитата(Krjuger @ 5.06.2012 1:09) *

Конешно можно, но на мой взгляд это глупость несустветная.
2: begin
p:=LevelUp(a,p);
for i:=1 to n-p do
begin
if not Dvoechnik(a[i]) then
begin
write(a[i].FIO+' ');
writeln(a[i].curs);
end;
end;
end;

Я забыл про функцию двоечника, лучше использовать ее.

спасибо огромное!!!даже не знаю как благодарить!я завтра все точно узнаю как надо и что..но все равно..огромное спасибо.даже слов нет
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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