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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2011, 18:46   #1
trigger
 
Регистрация: 09.11.2010
Сообщений: 6
Радость Delphi-console-поиск однозначных чисел в файле

Доброго дня
Исходное задание
Найти число однозначных файлов, их сумму и среднее арифметическое
---
Сложность

Если в файле только 0 (ноль) или несколько 0(нолей) то алгоритм не может их зацепить ...хотя 0 - тоже однозначное чило.

алгоритм работает если есть числа от -9 до 9 и/или есть в файле числа отличные от однозначных
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;


var
  f: TextFile;
  sum, temp: real;
  count: integer;
begin
  assign(f, 'input.dat');
  try
    reset(f);
  except
    writeln('File not found or damaged. Press enter...');
    readln;
  end;
  sum := 0;
  count := 0;
  while not (eof(f)) do
   begin
   readln(f, temp);
     if ((temp >= -9) and (temp <= 9)) then
      begin
       count := count + 1;
       sum := sum + temp;
      end;
   end;
  if temp=0 then count:=count-1;
  close(f);
  if sum=0 then writeln('File empty')
    else
     begin
      writeln('Sum = ', sum);
      writeln('Count Elements = ', count);
      writeln('Average = ', sum / count);
      writeln('Press enter for exit...');
     end;
  readln;
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.
Вложения
Тип файла: rar 12.rar (27.0 Кб, 6 просмотров)

Последний раз редактировалось Serge_Bliznykov; 01.02.2011 в 21:46.
trigger вне форума Ответить с цитированием
Старый 01.02.2011, 19:12   #2
Zedanger
 
Регистрация: 19.05.2009
Сообщений: 3
По умолчанию

Дело в том, что сообщение о пустом файле выходит у тебя при сумме равной нулю.
Код:
if sum=0 then writeln('File empty')
А если файл состоит из одного 0 или несколько сумма будет всегда равна 0.
Поменяй эту строку на:
Код:
if count=0 then writeln('File empty')
И зачем эта строка
Код:
if temp=0 then count:=count-1;
Если последние однозначное число было 0, то число однозначных должно умечиться?
Zedanger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедура поиск текста в текстовом файле, Delphi BIG_BO Помощь студентам 5 08.12.2010 13:20
Поиск данных в текстовом файле (в самом файле! а не в Memo и не загружая всю инфу из файла в одну строку glagoff Помощь студентам 1 05.05.2010 13:00
Console Applications на Delphi vasilisk-green Общие вопросы Delphi 6 06.01.2010 15:47
Поиск сторк в текстовом файле на Delphi Alex2009 Помощь студентам 1 09.11.2009 21:07
Поиск чисел в текстовом файле Homka Паскаль, Turbo Pascal, PascalABC.NET 4 25.06.2007 19:15