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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2010, 21:56   #1
drylozav
Пользователь
 
Регистрация: 31.05.2010
Сообщений: 40
По умолчанию найти первое положительное число

нужно найти в массиве первое положительное число , а оно у меня находит последнее .
procedure TForm3.btn2Click(Sender: TObject);
var
m,i: Integer;
f: TextFile;
flag:boolean;
begin
flag:=false;
mmo1.Lines.Clear;
assignFile (f,'c:\file1.txt');
reset(f);
while not eof(f) do
begin
while not Eoln(f) do
begin
read(f,i);
if (i<0) then begin
m:=i;
flag:=true;
mmo1.Text:=mmo1.Text+' '+IntToStr(i);
end;
Readln(f);
mmo1.Lines.Add('');
end;
CloseFile(f);
mmo1.Lines.Add('первое отрицательное ='+inttostr(m));
drylozav вне форума Ответить с цитированием
Старый 15.10.2010, 00:45   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Определился бы сначала с целевой функцией (что все таки определять положительное или отрицательное число). Вначале поста пишем "первое положительное", в коде "первое отрицательное". Хохма такая да?
Если все же отрицательное, то надо бы поправить код:
Код:
var
  m,i: Integer;
  f: TextFile;
  flag:boolean;
begin
  flag:=false;
  mmo1.Lines.Clear;
  assignFile (f,'I.txt');
  reset(f);
  while not eof(f) do begin
    read(f, i);
    mmo1.Lines.Add(IntToStr(i));
    if not flag and (i < 0) then begin
      m := i;
      flag := true;
    end;
  end;
  if flag then
    mmo1.Lines.Add('ПЕРВОЕ ОТРИЦАТЕЛЬНОЕ И НИ САНТИМА МЕНЬШЕ ='+inttostr(m))
  else
    mmo1.Lines.Add('Нет отрицательных чисел);
  CloseFile(f);
end;
Прик вне форума Ответить с цитированием
Старый 15.10.2010, 09:30   #3
BeJIuKuu_Hexo4yxa
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 96
По умолчанию

drylozav, добавь сравнение с flag в условии while. Иначе файл до конца просматривается и ты выводишь действительно последнее положительное/отрицательное
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (Стив Макконнелл)
BeJIuKuu_Hexo4yxa вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовать отрицательное число в положительное valerij Microsoft Office Excel 7 26.10.2011 09:32
Запросите у пользователя положительное число А и найдите сумму всех натуральных чисел из промежутка [1,A] white_angel73 Паскаль, Turbo Pascal, PascalABC.NET 13 22.04.2010 23:35
Первое число из DateTimePicker DaMadQuest Общие вопросы Delphi 4 20.04.2010 15:05
Перевести целое положительное десятичное число в шестнадцатеричное счисление Alfis Паскаль, Turbo Pascal, PascalABC.NET 3 28.12.2008 20:40
Как из Даты взять первое число? valerij Microsoft Office Excel 15 17.06.2008 13:39