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

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

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

> Непонятка с файлами
Vaso
сообщение 30.05.2006 14:11
Сообщение #1





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

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


Help!
для зачета остались две задачи кторые не могу решить. Хотя вроде простые
1) В файле содержатся сведения о студентах: Фамилия, пол , номер курса. Напечатать номер курса на котором наибольший процен мужчин, а также их фамилии.
2) Дан текстовый фаил F. удалить в каждой строке слова с наибольшей длиной. Результат занести в новый файл G.
С первой возникли проблемы: не могу написать процедуру для того чтобы раскидать список по номеру курса.
Помогите пожалуйста, а то срочно требуются решения . Я сам долго догоняю, а времени нет. Плизз!!! Завтра экзамен. Выручайте. blink.gif

Сообщение отредактировано: Vaso - 30.05.2006 17:23
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 2)
klem4
сообщение 30.05.2006 18:13
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Цитата
кторые не могу решить.


Значит попытки были, покажи что делал, исправим, подскажем.

зы

FAQ : Записи
FAQ : Файлы

+ Поиск yes2.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Vaso
сообщение 1.06.2006 15:47
Сообщение #3





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

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


Привет всем. Помощи больше не надо.
Первую программу написал, только с недочетами. например: завел массив из записей, что большой минус.
Но теперь понял как делать. Если кому-то пригодиться, то вот код моей программы.
Условие: Дан файл содержащий в себе сведения о студентах: фамилия, пол, курс. Определить на каком
курсе наибольший процен мужчин и выдать: номер курса, процент мужчин, фамилии студентов учащихся
на этом курсе мужского пола.
Код
Program max_boys;
          Type information=record
                      surname:string[20];
                       pol:string[1];
                       kurs:byte;
                       end;
Var F:file of information;
    stud: array [1..100] of information;
    k:information;
    p,l,x,i,n,o,j,boys,kol:byte;
    procent:array[1..5] of real;
    max_percent:real;
             Begin
                  Assign (F,'inform.txt');
                  reset (F);
                  writeln ('Spisok studentov :');
                  writeln ('N ',' ','surname':10,' ','pol':1,' ','kurs':1);
                  i:=0;
                  o:=0;
                        while not eof (F) do
                            begin
                                i:=i+1;
                                Read (F,stud[i]);
                                with stud[i] do
                                writeln (i,')',' ',surname:10,' ',pol:1,' ',kurs:1);
                             end;
                  for j:=1 to i do
                             begin
                                   for l:=i+1 to i-1 do
                                     begin
                                         if stud[j].kurs>stud[l].kurs then  begin
                                          k:=stud[j]; stud[j]:=stud[l]; stud[l]:=k;
                                                                                                             end;
                             end;
                                   for n:=1 to 5 do
                                        begin
                                            kol:=0;boys:=0;
                                                 for j:=1 to i do
                                                    if  stud[j].kurs=n then
                                                                                                                             begin
                                                                                                                            kol:=kol+1; if stud[j].pol='m' then
                                                                                                                               boys:=boys+1;
                                                                                                                                       end;
                               if kol>0 then
                                procent[n]:=(boys/kol*100);
                                   end;
                                 end;
                         max_percent:=procent[1];
                                for n:=1 to 5 do
                                     begin if procent[n]>=max_percent then
                                                 begin
                                                    max_percent:=procent[n];
                                                    p:=n;
                                                  end
                                                  else
                                      end;
              writeln ('nomer kursa: ',p,'   Procent male: ',max_percent:5:2,'    Spisok mugshin:');
                                     for j:=1 to i do
                                       if (stud[j].kurs=p) and (stud[j].pol='m') then
                                        begin
                                           o:=o+1;
                                           writeln (o,')',' ',stud[j].surname:10);
                                                 end;
                              END.


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

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

 



- Текстовая версия 18.07.2025 17:03
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"