• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Паскаль, создать файл .txt

Aleksandr5991

Ученик
Регистрация
16 Янв 2014
Сообщения
4
Реакции
0
Баллы
0
Паскаль, создать файл .txt

Привет всем! Очень прошу помочь, нужно создать файл .txt в него ввести числа, терминатор 0,сначала найти max? потом найти max с лева, не входящее в файл, например если строка 5 9 -7 8 1, то вывести должен 7! так как максимальное 9, а max с лева 8, оно есть в сроке, проверяем дальше, 8 его max с лева это 7, его нет. Значит его выводим)
 
Честно говоря, ничего не понял из вашего сумбура. Как самое минимальное число может быть максимальным? Ведь в вашем примере нет 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);

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

З.Ы. Слово "слева" пишется слитно, а выражение "в строке" кардинально отличается от "срока", да и знаки препинания не просто так придуманы. Учите русский язык, хотя бы для того, чтобы над вами не смеялись!
 
про русский язык вы правы, просто печатал быстро, а объяснить словами действительно трудно( попробую сказать по другому. Найти в файле максимальный элемент, и проверить есть ли то число которое стоит перед ним в строке, если есть, проверяем для него! Если его нет, то выводим.
 
Так. Уважаемые коллеги, а также студенты!
Уже не первый раз, и даже не первый год, вижу я в выкладываемых на наш форум заданиях эти таинственные "максимумы (минимумы) слева и справа". Так вот, не взирая на весьма солидный опыт в области программирования, вынужден признаться в том, что не имею ни малейшего представления о подобных категориях. Более того, Интернет, похоже, тоже не в курсе - никаких внятных определений этих понятий мне найти не удалось. Подозреваю, что это какое-то Know How каких-то шибко умных преподов какого-то чудо-ВУЗа. Или группы ВУЗов.
Так вот - до тех пор, пока мне четко и ясно не объяснят, что следует понимать под минимумом/максимумом слева/справа, я никакой помощи в выполнении подобных заданий оказать, увы, не смогу.
 
я привел не большой пример. 5 9 -7 8 1 0
max элемент тут 9. перед ним идёт 8! она с строке есть, значит проверяем для 8.
перед 8 стоит 7, её в строке нет, значит выводим её!
вот это нужно написать в программе(
 
ответьте пожалуйста(
Ладно. Сделал, как понял. Не, ну черт возьми, неужели так трудно выполнить элементарную просьбу и написать своими словами, что есть экстремум слева/справа в общем случае? Впрочем, похоже, дитятко все силы кладёт на то, чтобы не перетрудиться. Зачем что-то объяснять - пальчики любимые устанут! Ладно.
Код:
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.
 
Назад
Сверху