На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском. и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор.
Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса).
[!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя
Модераторы: volvo877
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> Типизированные файлы
    Хорошо,извиняюсь. Мне просто непонятно,как я понял: первый writeln в тексте программы выводит первое число в множестве. Далее цикл repeat, к примеру первое чило положительное, снова открываем repeat присваиваем pos:=pos+1; указатель seek перемещаем на pos и считываем его в next. пока next не будет отрицательным. Если число отрицательное то снова открываем цикл repeat.
    вывод чисел на экран writeln(next); моя просьба,собственно,пояснить: не могу понять как происходит чередование положительных и отрицательных чисел?
    Сообщение отредактировано: Рей -
      Цитата Рей @
      не могу понять как происходит чередование положительных и отрицательных чисел?

      Ударение, как я понял, на слове "чередование"? :)

      Смотри:
      ExpandedWrap disabled
          repeat
            if X < 0 then begin
              { Если предыдущее число - отрицательное, то теперь ищем положительное... }
              repeat
                ...
              until next > 0;
         
            end
            else begin
         
              { Если же предыдущее число было положительным, то теперь ищется отрицательное... }
              repeat
                ...
              until next < 0;
         
            end;
            if not error then begin
              writeln('value = ', next:4);
              X := next; { Обновляем: теперь ЭТО - предыдущее число, а следующее будет искаться в зависимости от его знака }
            end;
         
          until (pos = filesize(f)) or (neg = filesize(f));
        volvo, извини, что надоедаю тебе с этим заданием. Не подскажешь, можно ли изменить эту программу так, чтобы массив не использовался. :unsure:
        Сообщение отредактировано: Рей -
          Цитата Рей @
          можно ли изменить эту программу так, чтобы массив не использовался.

          А он и не используется... Мне просто удобнее было отлаживать программу НЕ внося данные с клавиатуры, а читая их из массива... Теперь можешь его смело удалить, и вместо
          ExpandedWrap disabled
              for i := 1 to n do write(f, arr[i]);
          написать что-нибудь вроде
          ExpandedWrap disabled
              for i := 1 to n do begin
                write('Введите число №', i, ' : '); readln(X)
                write(f, X);
              end;
          ... Введешь все числа с клавиатуры, и будет тебе БЕЗ массива... Сразу предупреждаю: без файла сделать нельзя !!!
            я правильно понял? получается, что надо записывать в другой файл все отрицательный числа, а в третий все положительные и потом поочередно записывать их в исходный файл и исходный текст программы уже не годится.
              Блин... <_< Какой другой? Какой третий? Ты программу ВООБЩЕ запускал? Сколько файлов она создает, видел?

              Больше я ничего пережевывать в третий раз не буду - внеси те изменения, что я показал, и запусти программу... Если (при тех же исходных данных) результат будет другой - тогда продолжишь эту тему...

              P.S. Кстати, я, например, вообще не понимаю, почему МОЯ программа должна создавать этот самый файл? У тебя по заданию что?
              Цитата Рей @
              Дан файл целых чисел, неравных нулю. число положительных = числу отрицательных.
              Дан - это значит, что он УЖЕ есть, а не создается, и программа должна просто ОТКРЫТЬ его... Вот ТЫ его и создай предварительно, потом прикрепи сюда, и продолжим разговор...
                Не злись, все я уже сообразил. Закрываю тему и больше к ней не возвращаюсь. Спасибо.
                Сообщение отредактировано: Рей -
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0263 ]   [ 15 queries used ]   [ Generated: 13.12.24, 00:31 GMT ]