Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для Евдокия
8 / 8 / 1
Регистрация: 24.10.2013
Сообщений: 205
1

Создать строковый файл, содержащий все слова из исходного файла, начинающиеся указанной буквой

19.03.2014, 14:23. Показов 1416. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан символ С и текстовый файл. Создать строковый файл,содержащий все слова из исходного файла, начинающиеся этой буквой. Знаки препинания не учитывать. Если нет подходящих слов, оставить файл пустым.
Вот что у меня получилось:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Program pr;
uses crt;
Var f1,f2:text;
    I,n: integer;
    S: string;
Begin
clrscr;
    Assign(f1, ‘file1.txt); 
    Rewrite(f1);  
    Readln(n); 
    for i:=1 to n do
    begin
        readln(s); 
        writeln(f1,s); 
    end;
    close(f1); 
    Reset(f1); 
    Assign(f2, ‘file2.txt); 
    Rewrite(f2); 
    While not eof(f1) do
    Begin
        Readln(f1,s);
        If (s[1]=’C’) or (s[1]=’c’) then
        Writeln(f2,s); 
    End;
    Close(f1);
     close(f2);
    Writeln;
    Writeln(‘Второй файл содержит слова:);
    Reset(f2); 
    While not eof(f2) do 
    Begin
        Readln(f2,s);
        Writeln(s); 
 readln;
    End;
close(f2);
End.
Но эта программа выводит только строки, которые начинаются с буквы С. Что нужно изменить, чтобы выводились именно слова, начинающиеся с "С"???

Добавлено через 19 часов 49 минут
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.03.2014, 14:23
Ответы с готовыми решениями:

Создать строковый файл, содержащий все слова длины N из исходного файла
Дано целое число N и текстовый файл. Создать строковый файл, содержащий все слова длины N из исходного файла (знаки препинания,...

Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наибольшей длины (в обратном порядке)
Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наибольшей длины (в обратном порядке). Дана...

Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла, начинающиеся этой буквой
Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла, начинающиеся...

5
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7801 / 4623 / 2832
Регистрация: 22.11.2013
Сообщений: 13,132
Записей в блоге: 1
19.03.2014, 21:32 2
Pascal
1
2
3
4
5
6
var
  c: char;
...
  Write('Введите букву: '); ReadLn(c); c:=UpCase(c);
...
  if UpCase(s[1])=c then ...
Однако, огорчу. Ваша программа считает, что в исходном файле находится список слов (по одному слову на строку), а в задании сказано, что в исходном файле текст, то есть по нескольку слов на строку, эту часть нужно добавлять.

Добавлено через 5 минут
Пример разбора строки на слова можете посмотреть, например, в этом сообщении: Как будет выглядеть код, написанный на Си в Паскале в программке под №7.
1
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 1
19.03.2014, 21:52 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
While not eof(f1) do
  Begin
    Readln(f1,s);
    i:=1;
    M:=0;
 
    //While (S[i]=' ')and(i<>length(S)) then inc(i); //пропуск пробелов в начале
 
    While i+m <= length(S) do
    begin
 
      If (s[i]=’C’) or (s[i]=’c’) then
        While (S[i+m]<>' ')and(i+m<>length(S)) then inc(m);
 
      Writeln(f2,Copy(s,i,m));
 
      i:=M+i+1;
    end;
 
End;
0
 Аватар для Евдокия
8 / 8 / 1
Регистрация: 24.10.2013
Сообщений: 205
20.03.2014, 17:45  [ТС] 4
Должно получиться что-то вроде этого?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Program pr;
uses crt;
Var f1,f2:text;
    I,n,j: integer;
    S: string;
  c: char;
Begin
clrscr;
    Assign(f1, ‘file1.txt); 
    Rewrite(f1);
Write('Введите букву: '); ReadLn(c);  
    Readln(n); 
    for i:=1 to n do
    begin
        readln(s); 
        writeln(f1,s); 
    end;
    close(f1); 
    Reset(f1); 
    Assign(f2, ‘file2.txt); 
    Rewrite(f2); 
    While not eof(f1) do
    Begin
        Readln(f1,s);i:=1;
    repeat
      while (i<=Length(s)) and (s[i]=' ') do inc(i);
      j:=i;
      while (i<=Length(s)) and (s[i]<>' ') do inc(i); 
        if i>j then begin
        Copy(s,j,i-j);
        If (s[j]=’C’) or (s[j]=’c’) then
        Writeln(f2,s); 
    End;
    Close(f1);
     close(f2);
    Writeln;
    Writeln(‘Второй файл содержит слова:);
    Reset(f2); 
    While not eof(f2) do 
    Begin
        Readln(f2,s);
        Writeln(s); 
 readln;
    End;
close(f2);
End.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7801 / 4623 / 2832
Регистрация: 22.11.2013
Сообщений: 13,132
Записей в блоге: 1
20.03.2014, 18:39 5
Лучший ответ Сообщение было отмечено Евдокия как решение

Решение

Евдокия,
оно же у вас не компилируется, да?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
program pr;
var
  f1, f2: text;
  i, n, j: integer;
  s: string;
  c: char;
Begin
  Assign(f1,'file1.txt'); Rewrite(f1);
  Assign(f2,'file2.txt'); Rewrite(f2); 
  Write('Введите букву: '); ReadLn(c); c:=UpCase(c); { только латиница }
  WriteLn('Введите текст, окончание - пустая строка:');
  ReadLn(s);
  while s<>'' do begin
    WriteLn(f1,s); ReadLn(s);
  end;
  Close(f1); Reset(f1); 
  while not eof(f1) do begin
    Readln(f1,s); i:=1;
    repeat
      while (i<=Length(s)) and (s[i]=' ') do inc(i);
      j:=i;
      while (i<=Length(s)) and (s[i]<>' ') do inc(i); 
      if (i>j) and (UpCase(s[j])=c) then
        WriteLn(f2,Copy(s,j,i-j)); 
    until i>Length(s);
  end;
  Close(f1); Close(f2); Reset(f2);
  WriteLn;
  WriteLn('Второй файл содержит следующие слова:');
  while not eof(f2) do begin
    Readln(f2,s); WriteLn(s); 
  End;
  Close(f2);
  Write('Нажмите ENTER...'); ReadLn;
end.
1
 Аватар для Евдокия
8 / 8 / 1
Регистрация: 24.10.2013
Сообщений: 205
20.03.2014, 18:44  [ТС] 6
Спасибо Вам огромное!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.03.2014, 18:44
Помогаю со студенческими работами здесь

Создать строковый файл и записать в него все слова из исходного файла, начинающиеся на эту букву (прописную или строчную)
Дан символ &quot;С&quot; - прописная (заглавная) русская буква и текстовый файл Создать строковый файл и записать в него все слова из исходного...

Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла
Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла, начинающиеся...

Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наибольшей длины
Всем привет! Кто может помочь с двумя небольшими програмками по работе с файлами? Очень буду благодарен... 2)Дана строка S нулевое,...

Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наименьшей длины (в том же порядке).
Даны имена двух файлов вещественных чисел. Известно, что первый из них существует и является непустым, а второй в текущем каталоге...

Создать новый строковый файл, содержащий все строки исходного файла наименьшей длины
Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наименьшей длины (в том же порядке). ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Winforstrap или красявый дизайн своими руками на HTML+JS+Winform­s
anomal6 04.03.2025
Сидел тут вечером ковырял проект на MAUI, и как же глупо создаются пакеты MSIX и система обновлений пакета публикации, но не об этом. Бывает нужен современный дизайн программы а писать на MAUI,. . .
Формат данных для симуляции физики, посредством распространённы­­­­­­­х не обученных моделей.
Hrethgir 04.03.2025
Что-то как-то снова потерялось, зато катангенсы закатангесились в одном сообщении. На днях писал, что планирую для работы апгрейдить (на этот раз удачно) девайс для работы (конкретно - здоровья для,. . .
Концепция variadic
CoderHuligan 04.03.2025
Мне не очень нравится (а кому это нравится?) что у нас есть отдельно компилятор, отдельно линковщик, причем со своим собственным командным языком. При этом усложнении надо знать помимо языка. . .
Java Record или Kotlin Data Class: что лучше для неизменяемых данных
Wired 04.03.2025
Java Record и Kotlin Data Class — два мощных инструмента для обуздания неизменяемых структур данных, каждый со своим уникальным подходом к решению этой задачи. История их появления весьма. . .
Создание производительны­­­х API с Java и gRPC
Wired 04.03.2025
В мире микросервисной разработки вопрос производительности часто становится краеугольным камнем. И хотя REST API давно завоевал сердца разработчиков своей простотой и интуитивностью, при высоких. . .
Что нового в JDK 24
Wired 04.03.2025
JDK 24 — это настоящий прорыв в эволюции Java, который кардинально меняет правила игры. В этом релизе разработчики Oracle наконец-то довели до ума множество критически важных улучшений в. . .
Разработка блокчейн с использованием Java: смарт-контракты и dApp
Wired 04.03.2025
Погружаясь в мир блокчейн-разработки на Java, разработчик получает доступ к внушительному арсеналу инструментов. В отличие от Solidity, который "заперт" в экосистеме Ethereum, Java предоставляет. . .
WebAssembly в Kubernetes
stackOverflow 03.03.2025
В современной экосистеме облачных технологий WebAssembly (Wasm) становится все более значимым компонентом, предлагая уникальный подход к выполнению кода в распределенных системах. Эта технология. . .
GitHub Actions или Jenkins: Выбираем CI/CD платформу
stackOverflow 03.03.2025
Непрерывная интеграция и развертывание (CI/ CD) изменили подход к разработке программного обеспечения, превратив его в бесшовный процесс от написания кода до развертывания в продакшн. GitHub Actions и. . .
Автоматизация тестирования Pull Request в Kubernetes: Интеграция с GitHub Actions и GKE
stackOverflow 03.03.2025
Масштабные проекты с использованием Kubernetes требуют надежной системы тестирования изменений перед их внедрением в продакшн-среду. Традиционный подход с ручной проверкой Pull Request не справляется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru