Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2012, 18:21   #1
vaako
Пользователь
 
Регистрация: 03.04.2012
Сообщений: 13
По умолчанию Дан файл целых чисел. Удалить из него все отрицательные числа

Дан файл целых чисел. Удалить из него все отрицательные числа
vaako вне форума Ответить с цитированием
Старый 12.04.2012, 14:33   #2
antishoker
Пользователь
 
Аватар для antishoker
 
Регистрация: 13.05.2010
Сообщений: 14
По умолчанию

Код:
var
  f:text;
  i:integer;
  a:array[1..1000] of real;
begin
  assign(f,'file.txt');
  reset(f);
  while not eof(f) do
  begin
    i:=i+1;
    read(f,a[i]);
  end;
  rewrite(f);
  for i:=1 to i do
    if a[i]>0 then
       write(f,a[i]:3:0,' ');
  close(f);
  end.
Проверьте, не могу Pascal запустить...
И еще, вчера прочитал вот эти правила - http://programmersforum.ru/announcement.php?f=7 и многое переосмыслил, советую =)
Служба отменяется - плоскостопие 3 степени
antishoker вне форума Ответить с цитированием
Старый 12.04.2012, 15:29   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Дан файл целых чисел.
antishoker, а у Вас что?! (f:text;) и откуда взялся массив типа real ?!
про такие "мелочи", как отстутствие иницилизации используемых переменных я уже вообще молчу...


ладно.
и, хоть автор темы НЕ ПРОСИЛ о помощи,
я приведу простенькое решение, если уж морочиться с массивом, тогда код может выглядеть так:
Код:
const MaxSize = 10000;
var
  f:file of integer;
  i, j, cur :  integer;
  a : array[1..MaxSize] of integer;
begin
  assign(f,'file.dat');
  reset(f);
  i := 0;
  while not eof(f) do
  begin
    Read(f, cur);
    if cur>=0 then begin
      inc(i);
      if i>MaxSize then begin
        Close(f);
        WriteLn('В файле положительных значений больше ',MaxSize);
        WriteLn('Нажмите Enter для аварийного завершения работы!');
        Readln;
        Halt(1)
      end;
      a[i] := cur;
    end; 
  end;

  rewrite(f);
  for j:=1 to i do
     write(f,a[j]);
  close(f);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.04.2012, 16:22   #4
antishoker
Пользователь
 
Аватар для antishoker
 
Регистрация: 13.05.2010
Сообщений: 14
По умолчанию

Нашел Паскаль, проверил - программа работает и свои функции выполняет. Только вот с массивом действительно ошибся.
Служба отменяется - плоскостопие 3 степени
antishoker вне форума Ответить с цитированием
Старый 12.04.2012, 16:42   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Нашел Паскаль, проверил - программа работает
вы про какую программу? Про свою?

Так я же Вам сказал, в чём у Вас главная ошибка!
вы
Код:
var f:Text;
от
Код:
f:file of integer;
можете отличить?!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.04.2012, 22:45   #6
antishoker
Пользователь
 
Аватар для antishoker
 
Регистрация: 13.05.2010
Сообщений: 14
По умолчанию

Все-все, понятно, вы правы.
Служба отменяется - плоскостопие 3 степени
antishoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив из N целых чисел. Получить из него массив чисел по модулю меньших 10 и отсортировать его(язык си++) mitja-zakelidis Помощь студентам 2 15.03.2012 03:10
Дан файл вещественных чисел. Создать файл целых чисел, содержащий номера всех локальных максимумов в порядке возрастания zzz6 Помощь студентам 1 04.07.2011 12:59
Создать файл целых чисел с данным именем и записать в него N первых положительных четных чисел prelest' Паскаль, Turbo Pascal, PascalABC.NET 4 01.06.2011 10:27
Матрица целых чисел М(3,4). Все отрицательные элементы заменить их квадратами. (Basic) AnnKarpinskaya Помощь студентам 1 16.05.2011 14:51
Дан двумерный массив случайных чисел. Построить одномерный из исходного, выбрав из него все числа кратные ProWinD Паскаль, Turbo Pascal, PascalABC.NET 2 16.06.2008 20:12