![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Hardip |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот думаю над задачей, даже похожая есть.. Дан файл содержащий сведения о книгах: фамилия автора, название, год издания, цена книги.
Как вывести на экран книгу с заданным годом издания (нужно указать в write), упорядоченные по алфавиту, а если таковых нет, то выдать соответствующее сообщение; а так же отсортировать записи в порядке возрастания цены книги. Файл, я сделал, прикладываю. Если кто-то поможет буду благодраен. Видел похожую программу, но не могу сделать под себя.. Код program Project1; {$APPTYPE CONSOLE} uses SysUtils; type qwe=record fio,db:string; a,b,c:byte; end; rty=record a:real; b:integer; end; const n=10; var d:array[1..n]of qwe; e:array[1..n]of rty; f:text; i,j,x,y:integer; s:string; begin i:=1; assign(f,'school'); reset(f); while not(eof(f)) do begin readln(f,d[i].fio); readln(f,d[i].db); readln(f,d[i].a,d[i].b,d[i].c); i:=i+1; end; for i:=1 to n do begin e[i].a:=(d[i].a+d[i].b+d[i].c)/3; e[i].b:=i; end; for i := n downto 2 do for j := 2 to i do if e[j].a < e[j - 1].a then begin x := Round(e[j].a); y:=e[j].b; e[j].a := e[j - 1].a; e[j].b := e[j - 1].b; e[j - 1].a := x; e[j - 1].b := y; end; for i:=1 to n do writeln(d[e[i].b].fio,': ',e[i].a); writeln('Vvdeite FIO'); readln(s); for i:=1 to n do if d[i].fio=s then writeln('FIO: ',d[i].fio,', DR: ',d[i].db,', Osenki: ',d[i].a:2,d[i].b:2,d[i].c:2); writeln('Srednie ball menishe treh:'); for i:=1 to n do if e[i].a<=3 then writeln(d[e[i].b].fio,': ',e[i].a); readln; end. Она делат вот что - Дан файл в котором содержится информация о школьниках: 1) Ф.И.О. 2) год рождения, месяц, число 3) оценки экзаменов а) отсортировать записи по возрастанию среднего экзаменационного балла; б) по запросу по Ф.И.О. - выдать средний балл; в) распечатать ведомость школьников со средним баллом меньше 3. Прикрепленные файлы ![]() |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 2:36 |