1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

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

Тема в разделе "Вопросы новичков и не только", создана пользователем prosport91, 7 окт 2009.

  1. prosport91

    prosport91 Гость

    Репутация:
    0
    Помогите доработать программу. Нужно чтоб проверяла ниличие всех символов в тексте, и почему то она считает каждый пробел за слово.Задача была такая посчитать количество слов и цифр в тексте. Заранее спасибо.
    Вот код.
    Код:
    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 Гость

    Репутация:
    0
    а можете выложить name.txt ?
     
  3. prosport91

    prosport91 Гость

    Репутация:
    0
    в name.txt произвольный текст
     
  4. Dock1100

    Dock1100 :-]

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

    isqoff Гость

    Репутация:
    0
    // сделано в PascalABC
    Код:
    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.
    {################################################  КОНЕЦ  ########################################################}
    //что бы проверяла и русские буквы в константу добавь (кириллицу)
     
Загрузка...

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