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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2009, 09:21   #1
kriss123
 
Регистрация: 15.02.2009
Сообщений: 3
По умолчанию помогите решить задачу

помогите решить задачу на зачёт.
надо в одном файле(f1) вписать:
1.количество учащихся
2.фамилию
3.год рождения
4.пять оценок
потом надо запустить программу и выброть тип сортировки по фамилии,по году рождения или по оценкам . И во втором файле(f2) они уже отсортированны я уже начал помогите дописать

Код:
program zachet;
uses crt;

var
g:array[1..100]of integer;
c:char;
o:array[1..100,1..5]of integer;
i,j:integer;
f1,f2:text;
f:array[1..100]of string[15];
m,a:integer;

begin
clrscr;

assign(f1,'c:\f1.txt');
reset(f1);
readln(a);

for i:=1 to a do
begin
readln(f1,f[i]);
read(f1,g[i]);
  for m:=1 to 5 do
  read(f1,o[i,m]);
 end;
close(f1);

assign(f2,'c:\f2.txt');
rewrite(f2);

writeln('Введите тип сортировки:
  f-по фамилии
  g-по дате рождения
  o-по оценкам');
readln(c);

Последний раз редактировалось Stilet; 17.02.2009 в 15:22.
kriss123 вне форума Ответить с цитированием
Старый 17.02.2009, 15:24   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Как делать сортировку пузыръком знаешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.02.2009, 08:31   #3
kriss123
 
Регистрация: 15.02.2009
Сообщений: 3
По умолчанию

Можеш код написать пожалуйста очень надо
kriss123 вне форума Ответить с цитированием
Старый 18.02.2009, 08:46   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Проще переделать с записями и работать с 1 массивом а не с 3.

Как пример

Код:
uses crt;
type TStud=record
      surname:string[20];
      birth:integer;
      mark:array[1..5] of byte;
     end;

var x:TStud;
    a:array[1..100] of TStud;
    i,n,j:integer;
    f:text;
    ch:char;

begin
assign(f,'c:\1.txt');
reset(f);
readln(f,n);
for i:=1 to n do
 begin
  readln(f,a[i].surname);
  read(f,a[i].birth);
  for j:=1 to 5 do
  read(f,a[i].mark[j]);
  readln(f);
 end;
close(f);
  writeln('Введите тип сортировки:  f-по фамилии  g-по дате рождения');
  ch:=readkey;
  case  ch of
  'f':begin
       for i:=2 to n do
       for j:=n downto i do
        if a[j].surname>a[j-1].surname then
          begin
           x:=a[j];
           a[j]:=a[j-1];
           a[j-1]:=x;
          end;
        assign(f,'c:\2.txt');
        rewrite(f);
        writeln(f,n);
        for i:=1 to n do
         begin
            writeln(f,a[i].surname);
            write(f,a[i].birth);
            for j:=1 to 5 do
            write(f,' ',a[i].mark[j]);
            writeln(f);
         end;
         close(f);
      end;
  'g':begin
       // аналогично сделаешь сам
      end;
     end;


end.

P.S. Что значит сортировка по оценкам?
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 18.02.2009 в 09:04.
alex_fcsm вне форума Ответить с цитированием
Старый 18.02.2009, 18:43   #5
kriss123
 
Регистрация: 15.02.2009
Сообщений: 3
Радость

спасибо большое про оценки сам допишу
kriss123 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите решить задачу Gabriel Паскаль, Turbo Pascal, PascalABC.NET 8 09.01.2009 22:18
Помогите решить задачу в С++ Холмс Помощь студентам 3 09.11.2008 21:06
Помогите решить задачу на C++ TheWanderer Общие вопросы C/C++ 9 08.10.2008 21:16
Помогите решить задачу cL1zMa Паскаль, Turbo Pascal, PascalABC.NET 5 15.12.2006 11:04