Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 16.01.2014, 19:22   #1 (permalink)
Aleksandr5991
Новичок
 
Регистрация: 16.01.2014
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Паскаль, создать файл .txt

Привет всем! Очень прошу помочь, нужно создать файл .txt в него ввести числа, терминатор 0,сначала найти max? потом найти max с лева, не входящее в файл, например если строка 5 9 -7 8 1, то вывести должен 7! так как максимальное 9, а max с лева 8, оно есть в сроке, проверяем дальше, 8 его max с лева это 7, его нет. Значит его выводим)
Aleksandr5991 вне форума   Ответить с цитированием

Старый 16.01.2014, 19:22
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Безусловно стоит уделить немного внимания на аналогичные темы

Как создать загрузочный ISO-файл из файлов программ?
Pascal ABC: File23. Дан файл вещественных чисел, создать файл целых чисел
Как создать REG-файл выборa файлов флажком в Win7?
Создать файл для результатов работы программы

Старый 16.01.2014, 19:46   #2 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 14,941
Записей в дневнике: 57
Сказал(а) спасибо: 135
Поблагодарили 164 раз(а) в 69 сообщениях
Репутация: 67284
По умолчанию

Честно говоря, ничего не понял из вашего сумбура. Как самое минимальное число может быть максимальным? Ведь в вашем примере нет 7, но есть -7.

Для работы с текстовыми файлами используйте следующие команды и операторы:
Описание файловой переменной в разделе переменных
var F:Text;
Ассоциирование файловой переменной с текстовым файлом на диске
assign(f,'name.txt');
Создание файла с указанным именем и открытие его по записи
rewrite(f);
Запись значения целочисленной переменной N в файл, открытый по записи
write(f,n:4);
Закрыть открытый файл
close(f);
Открыть файл по чтению
reset(f);
Открыть файл по дозаписи
append(f);
Прочитать значение из файла в переменную
read(f,n);

Теперь вам остается только правильно применить команды в вашей программе и задача решена. Удачи!

З.Ы. Слово "слева" пишется слитно, а выражение "в строке" кардинально отличается от "срока", да и знаки препинания не просто так придуманы. Учите русский язык, хотя бы для того, чтобы над вами не смеялись!
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 16.01.2014, 19:54   #3 (permalink)
Aleksandr5991
Новичок
 
Регистрация: 16.01.2014
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

про русский язык вы правы, просто печатал быстро, а объяснить словами действительно трудно( попробую сказать по другому. Найти в файле максимальный элемент, и проверить есть ли то число которое стоит перед ним в строке, если есть, проверяем для него! Если его нет, то выводим.
Aleksandr5991 вне форума   Ответить с цитированием
Старый 16.01.2014, 19:56   #4 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,866
Сказал(а) спасибо: 317
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Так. Уважаемые коллеги, а также студенты!
Уже не первый раз, и даже не первый год, вижу я в выкладываемых на наш форум заданиях эти таинственные "максимумы (минимумы) слева и справа". Так вот, не взирая на весьма солидный опыт в области программирования, вынужден признаться в том, что не имею ни малейшего представления о подобных категориях. Более того, Интернет, похоже, тоже не в курсе - никаких внятных определений этих понятий мне найти не удалось. Подозреваю, что это какое-то Know How каких-то шибко умных преподов какого-то чудо-ВУЗа. Или группы ВУЗов.
Так вот - до тех пор, пока мне четко и ясно не объяснят, что следует понимать под минимумом/максимумом слева/справа, я никакой помощи в выполнении подобных заданий оказать, увы, не смогу.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S на форуме   Ответить с цитированием
Старый 16.01.2014, 20:05   #5 (permalink)
Aleksandr5991
Новичок
 
Регистрация: 16.01.2014
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

я привел не большой пример. 5 9 -7 8 1 0
max элемент тут 9. перед ним идёт 8! она с строке есть, значит проверяем для 8.
перед 8 стоит 7, её в строке нет, значит выводим её!
вот это нужно написать в программе(
Aleksandr5991 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 16.01.2014, 20:11   #6 (permalink)
Aleksandr5991
Новичок
 
Регистрация: 16.01.2014
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

ответьте пожалуйста(
Aleksandr5991 вне форума   Ответить с цитированием
Старый 17.01.2014, 10:45   #7 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,866
Сказал(а) спасибо: 317
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Цитата:
Сообщение от Aleksandr5991 Посмотреть сообщение
ответьте пожалуйста(
Ладно. Сделал, как понял. Не, ну черт возьми, неужели так трудно выполнить элементарную просьбу и написать своими словами, что есть экстремум слева/справа в общем случае? Впрочем, похоже, дитятко все силы кладёт на то, чтобы не перетрудиться. Зачем что-то объяснять - пальчики любимые устанут! Ладно.
Код:
Var
 f:Text;
 a,Max:Integer;

Function Left(Q:integer):boolean;
var b:boolean;
begin
 Reset(f);
 b:=false;
 Repeat
  Read(f,a);
  if a=Q then b:=true;
 Until b or EoF(f);
 Close(f);
 Left:=b;
end;

Begin
 Assign(f,'text.txt');
 Rewrite(f);
 write('First number: ');
 Readln(a);
 if a<>0 then
  begin
   Max:=a;
   write(f,' ',a);
   Repeat
    write(' Next number: ');
    Readln(a);
    if a<>0 then write(f,' ',a);
   Until a=0;
   Close(f);
   Reset(f);
   Repeat
    read(f,a);
    if a>Max then Max:=a;
   Until EoF(f);
   Close(f);
   Writeln;
   While Left(Max) do Dec(Max);
   Writeln('Result: ',Max);
   Readln;
  end
 End.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S на форуме   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
операции с файлами, паскаль; турбо; паскаль, помогите пожалуйста

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 18:59.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.