Текстовые файлы

Тема в разделе "Pascal and Delphi", создана пользователем prosport91, 7 окт 2009.

  1. prosport91

    prosport91 Гость

    Помогите доработать программу. Нужно чтоб проверяла ниличие всех символов в тексте, и почему то она считает каждый пробел за слово.Задача была такая посчитать количество слов и цифр в тексте. Заранее спасибо.
    Вот код.
    Код (Text):
    program f;
    const mn=['0'..'9'];
    var f3:text;
    i,j,ch,sl:integer;
    name:string;
    s:char;
    wrd:string;

    procedure chten(var f3:text);
    Var i:integer;
    s:string;
    begin
    assign(f3,'c:\temp\name.txt');
    reset (f3);
    While not eof(f3) do
    begin
    readln(f3,s);
    writeln('Получен следующий текст: ');
    writeln(s);
    end;
    readln(f3);
    close(f3);
    end;
    begin
    chten(f3);
    reset(f3);
    s:=' ';
    sl:=0;
    ch:=0;
    While not eof(f3) do
    begin
    readln(f3,wrd);
    i:=1;
    While i<=length(wrd) do
    begin
    if (wrd[i]=' ')or(wrd'.') then sl:=sl+1;
    i:=i+1;
    end;
    end;
    close(f3);
    reset(f3);
    While not eof(f3) do
    begin
    While not eoln(f3) do
    begin
    read(f3,s);
    if (s in mn) then ch:=ch+1;
    i:=i+1;
    end;
    readln(f3);
    end;
    close(f3);
    writeln('Количество слов в тексте: ',sl);
    writeln('Количество цифр в тексте: ',ch);
    readln;
    end.
     
  2. isqoff

    isqoff Гость

    а можете выложить name.txt ?
     
  3. prosport91

    prosport91 Гость

    в name.txt произвольный текст
     
  4. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Подщитать количество цифр или чисел?
     
  5. isqoff

    isqoff Гость

    // сделано в PascalABC
    Код (Text):
    uses crt;
    var f:Text;
    SumNum,slov,i:integer;
    ST,s:string;
    {#################################### ФУНКЦИЯ ПРОВЕРКИ (СЛОВО ИЛИ НЕТ) #############################}
    function Words(s:string):boolean;
    const
    st = ('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!":;?.,');
    var i,j,sum:integer;
    begin
    sum:=0;
    for i:=1 to Length(s)do
    for j:=1 to Length(st) do
    if s[i] = st[j]then sum:=sum+1;

    IF sum = Length(s) THEN Words:=true ELSE Words:=false;
    end;
    {############################## ОСНОВНАЯ ПРОГРАММА ################################################}
    BEGIN
    S:='';
    st:='';
    SumNum:=0;
    slov:=0;
    {----------------------------------- ОКРЫВАЕМ ФАЙЛ --------------------------------------------------}
    Assign(f,'C:\Primer.txt');       //ЗДЕСЬ НУЖНО ВВЕСТИ ИМЯ СВОЕГО ФАЙЛА

    Reset(f);
    {-------------------------------------- РАБОТАЕМ С ФАЙЛОМ --------------------------------------------}
    while not EOF(f)do
    Begin
    readln(f,st);
    {-------------------------------------- УДОЛЯЕМ ЛИШНИЕ ПРОБЕЛЫ (ОСТАВЛЯЕМ ТОЛЬКО ОДИН) ---------------}
    repeat
    if pos(#32+#32,st)<>0
    then Delete(st,pos(#32+#32,st),1);
    until pos(#32+#32,st)=0;
    {-------------------------------------- СЧИТАЕМ ЦИФРЫ ------------------------------------------------}
    for i:=1 to Length(st)do
    if (st[i]>=#48)and(st[i]<=#57)
    then SumNum:=SumNum+1;
    {-------------------------------------- СЧИТАЕМ СЛОВА ------------------------------------------------}
    for i:=1 to Length(st)do
    if (st[i]<>#32)and(i <> length(st))
    then s:=s+st[i]
    else begin
    if words(s)=true then slov:=slov+1;
    s:='';
    end;

    End;
    Close(f);
    {------------------------------------ ЗАКРЫВАЕМ ФАЙЛ ---------------------------------------------------}

    writeln('ЦИФР В ФАЙЛЕ :',SumNum);  //ПОДВЕДЁМ ИТОГ :)))

    writeln('СЛОВ В ФАЙЛЕ :',Slov);

    END.
    {################################################  КОНЕЦ  ########################################################}
    //что бы проверяла и русские буквы в константу добавь (кириллицу)
     
Загрузка...
Похожие Темы - Текстовые файлы
  1. lmike
    Ответов:
    27
    Просмотров:
    296
  2. garrick
    Ответов:
    25
    Просмотров:
    664
  3. sgfsdg
    Ответов:
    1
    Просмотров:
    431
  4. vovanabali
    Ответов:
    0
    Просмотров:
    539
  5. anatoliygorbunov
    Ответов:
    1
    Просмотров:
    772

Поделиться этой страницей