![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Santrex |
![]() ![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот тут не получаеться кое что сделать.
Условие следующее: Сформировать файл f1,компоненты которого целый чилса.Найти наибольшее из этих чисел.Использовать процедуры, а также меню для выбора существующего или внвь создаваемого файла. И код. :p1: Код Program Zadanie8; uses crt; type spis=record a : array [1..100] of integer; mas,max,i : integer; end; ff = file of spis; var massiv : array [1..100] of integer; a : array [1..100] of spis; f1 : ff; q : char; n,i,max,k : integer; name_1 : string[10]; {********* Џp®жҐ¤гp ўў®¤ ¤ ле б Є« ўЁ вгpл Ё § ЇЁбЁ Ёе ў д ©« *********} procedure NEW_FILE (var f:ff); begin clrscr; rewrite(f); Write('‚ўҐ¤ЁвҐ а §¬ҐаҐ®бвм ¬ ббЁў :'); readln(n); Writeln('‚ўҐ¤ЁвҐ н«Ґ¬вл ¬ ббЁў '); for i := 1 to n do begin readln(a[i].mas); end; close(f) end; {******** Џp®жҐ¤гp ЇҐз вЁ ? б®авЁа®ўЄЁ **********} procedure PRNT (var f:ff); begin reset(f1); seek(f1,0); writeln; write('Massiv dannix :'); for i := 1 to n do begin write (a[i].mas:4); end; max:=(a[i].mas); for i := 1 to n do if (max<a[i].mas) then begin max:=(a[i].mas); writeln; writeln('Њ ЄбЁ¬ «мл© н««Ґ¬Ґв ¬ ббЁў a[i] : '); write(max); end; close(f) end; {**************** Ћб®ў п Їp®Јp ¬¬ ******************} begin clrscr; write ('Vvedite name Faila v kotorie bydyt soxraneni dannie: '); readln (name_1); assign (f1,name_1); repeat writeln; writeln('‚ўҐ¤ЁвҐ 1 ¤«п б®§ ¤ Ёп Ќ®ў®Ј® ” ©« :'); writeln('‚ўҐ¤ЁвҐ 2 ¤«п Џа®б¬®ва 㦥 б®§¤ ®Ј® ” ©« :'); writeln('Vvedite 3 dla Vixoda :'); Readln(q); case q of '1' :NEW_FILE(f1); '2' :PRNT(f1); '3' : end until false; end. :ypr:Что эта прога глючит.Я делал ее своими руками но я токо учюся и незнаю многово о файлах,процедурах и меню. Исправте пожалуста чтобы можно было с помощбю меню: 1)Создавать файл. 2)Открывать уже созданный файл. 3)И выход из программы.(причем программа должна закончиться токо когда пользователь выберет эту опцию) И посмотрите по заданию правильно она пахает или нет? СПАСИБО ВСЕМ КТО СМОЖЕТ МНЕ ПОМОЧЬ. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ну, чтобы из программы можно было выйти по нажатию '3', ей надо об этом сказать. Основной блок переделываем так (не забываем про новую переменную Stop):
Код var stop: boolean; (*** !!! ***) begin clrscr; write ('Vvedite name Faila v kotorie bydyt soxraneni dannie: '); readln (name_1); assign (f1,name_1); stop := false; (*** !!! ***) repeat writeln; writeln('‚ўҐ¤ЁвҐ 1 ¤«п б®§ ¤ Ёп Ќ®ў®Ј® ” ©« :'); writeln('‚ўҐ¤ЁвҐ 2 ¤«п Џа®б¬®ва 㦥 б®§¤ ®Ј® ” ©« :'); writeln('Vvedite 3 dla Vixoda :'); Readln(q); case q of '1' :NEW_FILE(f1); '2' :PRNT(f1); '3' :stop := true; (*** !!! ***) end until stop; (*** !!! ***) end. |
Santrex |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: ![]() ![]() ![]() |
Так это я вставил.Пахает.
А вот у меня вначале так идет.Он вот спрашивает названия файла в который будет сохранена информация.Потом мы выбираем цифру 1, 2, 3.Но вот небольшая проблема.Хотелось бы чтобы тут когда он создает новый файл он сразу находил максимальный элемент,записывал это в файл, и показывал сразу.А потом появляеться опять меню с выбором.И при выборе цифры 2 он должен открыть файл с сохраненными данными.Но токо почему то тут он этого не делает.Можешь посомтреть что тут надо исправить. :o |
Santrex |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: ![]() ![]() ![]() |
Так как это сотворить?
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Для начала разберись с типами...
Код type spis=record a : array [1..100] of integer; mas, max, i: integer; end; ff = file of spis; var massiv: array [1..100] of integer; a: array [1..100] of spis; f1: ff; Что по-твоему должно храниться в _одной_ переменной a? 100 целых чисел и еще значения max и прочее? Тогда зачем ты объявил массив из 100 таких переменных? |
Santrex |
![]()
Сообщение
#6
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: ![]() ![]() ![]() |
ну я с запасом писал вдруг пргодяться
![]() Ну ты сможешь исправить что там не так? |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Santrex, ты имеешь в виду, что программа должна делать вот это?
Прикрепленные файлы ![]() |
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 22:27 |