1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Дело вот вобщем в чем- написал програму, которая в конечном итоге должна записать "записи" в типизированый файл при том соблюдая внешнее оформление текста(табуляцию-типо под таблицу). Возникла следующая проблема: после записи в файл и при дальнейшем его просмотре(что сказано в условии задачи) появляются лишние знаки табуляции(#9) а цифры не отображаются, такое ошюшение, что записаны в другой кодировке. Вобщем прикрепляю прогу и побочный файл(для чтения). Хелп!
Дык... Ты же пишешь в типизированный файл, а не в текстовый... В файл записывается внутреннее представление записи типа stri4ka. В частности, числа пишутся не символами (как в текстовых файлах), а просто пишется содержимое того байта, который представляет число. Естественно, никаких переносов строки, ибо данные хранятся последовательно...
Когда прочтешь информацию из типизированного файла в структуру типа stri4ka, все встанет на свои места...
Цитата
после записи в файл и при дальнейшем его просмотре(что сказано в условии задачи)
прямо так и сказано, просмотреть с помощью текстового редактора? Может быть, прочесть содержимое файла и показать его на экране?
прямо так и сказано, просмотреть с помощью текстового редактора? Может быть, прочесть содержимое файла и показать его на экране?
Да! так и сказано, почему я это и подчеркнул. Блин, так не охота переводить вам условие. короче думаю поймете)
Код
5.Переглянути за допомогою вбудованого в'ювера або одного з текстових редакторів структуру створеного типізованого файла. Записати розміри обох файлів: текстового і типізо¬ ваного, порівняти їх, зробити ВИСНОВКИ.
А вообще, если так посмотреть, то програма правильно написана?
Большое кстати, забыл прочитать одно условие задачи, и сразу же запутался, вставляя это в задачу. Мне нужно там вычеслить общее кол-во путевок, которые получила каждая школа. Вывести это все дело на экран. Т.е. я понимаю что нужно сравнить tabl[i].nomer со всеми tabl[i].nomer, выводив на экран только разные №-ра а потом tabl[i].kst_p с теми же i просумировать и вывести? Я пробовал начать это так:
for k:=0 { а вот что будет стоять на месте этого элемента, если он не существует? "мусор"? } to j-1 do if tabl[k].nomer <> tabl[i].nomer then write('№',i); { далее не придумал, т.к. даже не знаю правильный ли у меня ход мыслей) }
Alex7, ты знаешь, не у всех тут отличное знание украинского языка, а в твоей программе все по-украински, да и название kst_p мне лично ничего не говорит... Кроме того, я так и не видел задания, ты все время выдаешь только его куски, и то на непонятном языке. Возможно лм вообще присутствие одного и того же номера школы более одного раза в файле.
Извини, но если уж ты задаешь вопросы - задавай их как положено !!!
Извини, но если уж ты задаешь вопросы - задавай их как положено !!!
Ну ладно, учту)
Цитата
Возможно лм вообще присутствие одного и того же номера школы более одного раза в файле.
А почему нет? Разве одна школа не может получить путевки в разные лагеря (например Zonz и Veselka ) ? Ладно, прийдется перевести полностью задание, ой, в падло то как ...но мне ж надо!
Цитата
1.Создать в текстовом редакторе файл,данные которого должны соответствовать таблице(оформление необязательное) {т.е. как и у меня}. Файл должен иметь разширение *.inf 2. В програме организовать создание нового типизированного файла с разширением *.dat , который должен состоять из записей, каждый из которых должен соответствовать определ. полю таблици. Одновременно розпечатать данные на экран. бла,бла,бла,,, подсказки...4) Когда типизированный файл создано, закрыть текстовой и дальше продолжать работать с предыд. Запрограмировать действия, которые необходимо выполнить, чтобы реализовать задачу, обработки введенной инфы. 5) просмотреть с помощью встроенного вьювера, или одного из текстовых редакторов структуру типизированного файла. Записать размеры обоих файлов, Сделать выводы. Индивидуальное задание: "Разпределение путевок в оздоровительно- спортивные (конц )лагеря по школам города! <таблица> Напечатать сумарное кол-во путевок, которое получила каждаю щкола.
Фуф, неужели енд? Я буду горько смеятся, если теперь, после прочтения задачи, мне ктото предложит более умный и простой алгоритм решения задачи!
для пояснения- переменные: kst_p -это кол-во путевок, которые получила каждая школа sumkst_p - это кол-во путевок, которые получила каждая школа вместе(ЭТО МНЕ И НАДО СЕЦЧАС НАЙТИ) rad -рядок(который читаем)
Сои за как-бы оффтоп, но вот вобщем чо я наполовину сделал,НО опять таки же условие не хочет работать! ХЕЛП! Мне на завтра нужно идеально закончить прогу!
Writeln(' Кол-во путевок, которые получила КАЖДАЯ школа« :'); Write('Школа',#9); For z:=1 to i-1 do If z=1 then Write('№',tabl[z].nomer,#9) else begin sumkst_p:=0; For k:=1 to z-1 do If tabl[z].nomer=tabl[k].nomer then Inc(sumkst_p); If sumkst_p=0 then Write('№',tabl[z].nomer,#9); end; writeln; Write('Кол-во',#9); For z:=1 to i-1 do begin sumkst_p:=0; For k:=1 to i-1 do If tabl[z].nomer=tabl[k].nomer then begin sumkst_p:=sumkst_p+tabl[k].kst_p; tabl[k].nomer:=0; end; Write(sumkst_p,#9); end;
Вот. условие подсчета кол-ва путевок не работает!!!!
Write('Кол-во',#9); For z:=1 to i-1 do begin sumkst_p:=0; For k:=1 to i-1 do If tabl[z].nomer=tabl[k].nomer then begin sumkst_p:=sumkst_p+tabl[k].kst_p; tabl[k].nomer:=0; end; Write(sumkst_p,#9); end;
Ясно. Вот, вобщем после пару часиков) я таки прогу доделал, если кому интирессно, то:
Цитата
Я не флужу!
program tablizja(lab9_10); {Uses CRT;} Type stri4ka= record nazva: string[20]; misze: string[20]; nomer: byte; kst_p: byte; vidp : string[50]; end; Var tabl: array[1..25] of stri4ka; sumkst_p,k,i,z: integer; f1name,f2name: string[50]; rad: string; f1: text; f2: file of stri4ka; Begin { Clrscr;} for z:=1 to 25 do writeln; for z:=1 to 80 do Write(#205);
Writeln(' Љi«мЄiбвм Їгвiў®Є, пЄг ®ваЁ¬ « Є®¦ иЄ®« :'); Write('Є®« ',#9); For z:=1 to i-1 do If z=1 then Write('ь',tabl[z].nomer,#9) else begin sumkst_p:=0; For k:=1 to z-1 do If tabl[z].nomer=tabl[k].nomer then Inc(sumkst_p); If sumkst_p=0 then Write('ь',tabl[z].nomer,#9); end; writeln; Write('Љ-бвм',#9); For z:=1 to i-1 do begin sumkst_p:=0; For k:=1 to i-1 do If (tabl[z].nomer=tabl[k].nomer)and(tabl[z].nomer<>0) then begin sumkst_p:=sumkst_p+tabl[k].kst_p; if z<>k then tabl[k].nomer:=0; end; If sumkst_p<>0 then Write(sumkst_p,#9); end; Writeln;