![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Vaso |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Vasya Репутация: ![]() ![]() ![]() |
Help!
для зачета остались две задачи кторые не могу решить. Хотя вроде простые 1) В файле содержатся сведения о студентах: Фамилия, пол , номер курса. Напечатать номер курса на котором наибольший процен мужчин, а также их фамилии. 2) Дан текстовый фаил F. удалить в каждой строке слова с наибольшей длиной. Результат занести в новый файл G. С первой возникли проблемы: не могу написать процедуру для того чтобы раскидать список по номеру курса. Помогите пожалуйста, а то срочно требуются решения . Я сам долго догоняю, а времени нет. Плизз!!! Завтра экзамен. Выручайте. ![]() Сообщение отредактировано: Vaso - 30.05.2006 17:23 |
![]() ![]() |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата кторые не могу решить. Значит попытки были, покажи что делал, исправим, подскажем. зы FAQ : Записи FAQ : Файлы + Поиск ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Vaso |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Vasya Репутация: ![]() ![]() ![]() |
Привет всем. Помощи больше не надо.
Первую программу написал, только с недочетами. например: завел массив из записей, что большой минус. Но теперь понял как делать. Если кому-то пригодиться, то вот код моей программы. Условие: Дан файл содержащий в себе сведения о студентах: фамилия, пол, курс. Определить на каком курсе наибольший процен мужчин и выдать: номер курса, процент мужчин, фамилии студентов учащихся на этом курсе мужского пола. Код 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 |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 17:03 |