![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Окран |
![]()
Сообщение
#1
|
Гость ![]() |
Умоляю помочь сделать данную задачу до завтрашнего дня!!!!!Очень прошу!!Сам вышел из больницы 2 дня назад и в первый же день учебы лабараторная по паскалю на котором я был всего на 1-2 лекциях а потом загремел по состоянию здоровья в больницу!!!Пожалуйста!!!!
Код Полугодовая информация о изданиях по каждому подчиненному имеет следующую структуру: ФИО - 20 знаков участок доставки - 2 знака адрес кол-во выписанных изданий - 2 знака список изданий адрес в свою очередь состоит из следующих компонентов: улица - 20 знаков номер дома - 3 знака номер квартиры - 3 знака Список изданий состоит из следующих компонентов: название - 20 знаков вид - 1 знак(газета, журнал) месяцы на которые оформлена подписка. Список изданий представляет собой массив структур, содержащий N элементов из которых заполнены K - количествовыписанных изданий.Если подписчик оформил подписку на более чем N изданий то для него имеется 2 или более записи идущие подряд.Информация о месяцах подписки может быть представлена в виде массива из 12 логических элементов. А теперь само задание :) : создайте файл о подписных изданиях. |
![]() ![]() |
BlackShadow |
![]()
Сообщение
#2
|
Гость ![]() |
Код Const N = 20; Type TMonths=Array[0..11] Of Boolean; TIzdanie=Record Title:String[20]; Tip:Char; Months:TMonths End; TAddr=Record Street:String[20]; Home:String[3]; Flat:String[3] End; TChel=Record Name:String[20]; Uchastok:String[2]; Addr:TAddr; Count:String[2]; Izdaniya:Array[0..N-1] Of TIzdanie End; Const MonthName:Array[0..11] Of String=('jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec'); Var f:File Of TChel; Name:String; c:TChel; i,j:Integer; Begin Write('Enter Name: '); ReadLn(Name); Assign(f,'Chels.Txt'); Reset(f); While Not Eof(f) Do Begin Read(f,c); If c.Name=Name Then Begin Val(c.Count,x,e); i:=0; While i<x Do Begin If (i>0) And (i Mod N = 0) Then Read(f,c); With c.Izdaniya[i Mod N] Do Begin Write(Title,': '); For j:=0 To 11 Do If (Monts[j]) Then Write(MonthName[j]); WriteLn End; Inc(i) End End; Close(f) End. Вроде так... Если "вывод на печать" подразумевает принтёр, то добавь в начало Uses Printer; и допиши пару строк: Код With c.Izdaniya[i Mod N] Do Begin Write(Title,': '); Write(Lst,Title,': '); For j:=0 To 11 Do If (Monts[j]) Then Begin Write(MonthName[j]); Write(Lst,MonthName[j]) End WriteLn; WriteLn(Lst) End; Должно работать... |
![]() ![]() |
![]() |
Текстовая версия | 17.07.2025 18:57 |