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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2009, 22:18   #1
Иван 883
Пользователь
 
Регистрация: 25.12.2008
Сообщений: 39
По умолчанию Посчитать число цифр в тексте и их сумму

Здравствуйте Господа программисты. Помогите решить задачку:Считать данные из файла. Подсчитать число цифр в данном тексте и их сумму. И вывести результат в другой файл(в основной программе должен быть перечислен только список процедур) Помогите плз. Извините, что без наработок.. Если можно, то на Pascal'е

Последний раз редактировалось Иван 883; 16.04.2009 в 22:45.
Иван 883 вне форума Ответить с цитированием
Старый 16.04.2009, 22:42   #2
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
По умолчанию

Товарищи, пишите на каком языке вам это нужно! Мы тут не экстрасенсы. На Си пойдет?
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
MAKEDON вне форума Ответить с цитированием
Старый 17.04.2009, 01:05   #3
Иван 883
Пользователь
 
Регистрация: 25.12.2008
Сообщений: 39
По умолчанию

Вот некоторые мысли:
Код:
type Mas=array[1..50] of string;

procedure InputData(var a:Mas; var n:integer);
var FileIn:text;
    NameFile:string;
begin
  write('Введите имя входного файла ');
  readln(NameFile);
  assign(FileIn,NameFile);
  {$I-}
  reset(FileIn);
  {$I+}
    if IOResult<>0 then
      begin
        writeln('Ошибка!Файл ',NameFile,' не найден!');
        readln;
        halt;
      end;
    n:=0;
    while not Eof(FileIn) do
      begin
        inc(n);
        readln(FileIn,a[n]);
      end;
  Close(FileIn);
end;

procedure FindNumbersInString(var S:string; var CountNumbers,SummNumbers:integer);
var i:integer;
begin
  CountNumbers:=0;
  SummNumbers:=0;
  for i:=1 to length(S) do
    if S[i] in ['0'..'9'] then
      CountNumbers:=CountNumbers+1;
      SummNumbers:=SummNumbers+CountNumbers;
end;

procedure FindNumbersInMas(a:Mas; n,CountNumbers,SummNumbers:integer);
var i:integer;
begin
  for i:=1 to n do
    FindNumbersInString(a[i],CountNumbers,SummNumbers);
end;

procedure OutputData(a:Mas; n:integer);
var NameFile:string;
    FileOut:text;
    i:integer;
begin
  write('Введите имя выходного файла ');
  readln(NameFile);
  assign(FileOut,NameFile);
  rewrite(FileOut);
  for i:=1 to n do
    writeln(FileOut,a[i]);
    Close(FileOut);
end;

var a:Mas;
    n,CountNumbers,SummNumbers:integer;
begin
  InputData(a,n);
  FindNumbersInMas(a,n,CountNumbers,SummNumbers);
  OutputData(a,n);
end.
Но программа выводит не то что нужно..

Последний раз редактировалось Иван 883; 17.04.2009 в 11:36.
Иван 883 вне форума Ответить с цитированием
Старый 17.04.2009, 13:38   #4
Anatole
Форумчанин
 
Аватар для Anatole
 
Регистрация: 07.04.2009
Сообщений: 245
По умолчанию

Цитата:
Считать данные из файла. Подсчитать число цифр в данном тексте и их сумму. И вывести результат в другой файл(в основной программе должен быть перечислен только список процедур
Согласно заданию результатми расчёта является количество цифр и их сумма. Поэтому процедуру вывода результатов необходимо оформить в приблизительно в таком виде:
procedure OutputData(a:Mas; n:integer);
var NameFile:string;
FileOut:text;
i:integer;
begin
write('Введите имя выходного файла ');
readln(NameFile);
assign(FileOut,NameFile);
rewrite(FileOut);
for i:=1 to n do
writeln(FileOut,a[i]);
Writeln(FileOut,'Count=',CountNumbe rs);
Writeln(FileOut,'Summ=',SummNumbers );
Close(FileOut);
end;
Всякое безобразие должно быть единообразным. Тогда это называется порядком.
Anatole вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дано трехзначное число.вывести число,полученное при перестановки цифр десятков и сотен исходдного числа. Kenny_mackormik Помощь студентам 7 12.03.2009 15:18
Натуральное число, в записи которого п цифр, называется числом Армстронга, если сумма его цифр, возведенн OTLi4HO Общие вопросы C/C++ 6 14.01.2009 19:48
посчитать сумму m последнего числа n лялька Паскаль, Turbo Pascal, PascalABC.NET 1 25.12.2008 14:12
Как посчитать сумму в столбце таблицы? Иллидан Microsoft Office Word 1 15.04.2008 21:30
Число N, заменить одну из его цифр, чтобы получилось число, max близкое к некоторой степени двойки urgu_st Помощь студентам 13 23.10.2007 09:14