Помощь - Поиск - Пользователи - Календарь
Полная версия: совет по текстовому файлу
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Михаил1996
здраствуйте. имметься программа:
const
  n = 4;
type
  student = record
    N: byte;
    prizv: string;
    
    alg: real;
    bal: 6..15;
    matan,prog,os:2..5
  end;
  var
  i,j: integer;
  tabl: array[1..n] of student; 
  v:student;
  s:real;
  begin
  
   writeln('VVedi dani stydentiv');
    for i := 1 to n do
    with tabl[i] do
    begin
    writeln('vvedi prizv');
    readln(prizv);
    writeln('vvedi predmet1');
    readln(matan);
    writeln('vvedi predmet2');
    readln(prog);
    writeln('vvedi predmet 3');
    readln(os);
   
    end;
   
   for i:=1 to n do with tabl[ i ] do
begin
bal:=matan+prog+os;
end;
   
    writeln('------------------------------------------------------');
    writeln('| Surname| Matematuchnuy | Programyvannya | OS |   summa  ');
  writeln('|          |    analis     |                |    |      ');
  writeln('--------------------------------------------------------');
for i:=1 to n do
    with tabl[i] do
begin

writeln('|',prizv:10,'|',matan:15,'|',prog:16,'|',os:4,'|' , bal:5, '|');
writeln('-----------------------------------------------------------------');
end;


writeln('vidcortovano');
j:=0;
while j<=n do
      begin
      for i:=1 to n-1 do
          if tabl[i].bal<tabl[i+1].bal then
             begin
             v:=tabl[i];
             tabl[i]:=tabl[i+1];
             tabl[i+1]:=v;
             end;
      inc(j);
      end;


 writeln('------------------------------------------------------');
    writeln('| Surname| Matematuchnuy | Programyvannya | OS |   summa  ');
  writeln('|          |    analis     |                |    |      ');
  writeln('--------------------------------------------------------');
for i:=1 to n do
    with tabl[i] do
begin

writeln('|',prizv:10,'|',matan:15,'|',prog:16,'|',os:4,'|' , bal:5, '|');
writeln('-----------------------------------------------------------------');
end;

 
readln;
end.

она работает но у меня условие стоит чт нужно в таблицу данные не вводить а считать ее с внешнего файла(текстового) и отсортировать по сумме балов. подскажите как это сделать, пожалуйста? Файл прикрепил
Федосеев Павел
На другом форуме тебе привели пример, как считать запись об одном студенте. Дальше читаешь любой учебник по Pascal главу "файлы" (набери в поисковике "Pascal файлы").
Когда это будет - можно будет заняться сортировкой (опять же, начиная с поиска).

Можешь сам для себя в тестовой программке попробовать сортировать массив (предварительно заполнив его в обратном порядке).

Будут вопросы - спрашивай. По возможности постараюсь ответить.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.