Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Rikol
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 96
1

Найти в файле F все слова-палиндромы и сделать из них файл G

27.04.2016, 18:52. Просмотров 877. Ответов 4
Метки нет (Все метки)

Найти в файле F все слова-палиндромы и сделать из них файл G.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2016, 18:52
Ответы с готовыми решениями:

Найти в файле F все слова-палиндромы и создать из них файл G
Найти в файле F все слова-палендромы и сделать из них файл G.

Найти в файле F все слова, которые содержат подстроку P, и составить из них файл G
Найти в файле F все слова, которые имеют под словом p и составить из них файл G.

Найти в файле f все слова, слева направо и наоборот читаются одинаково и составить из них новый файл q
Найти в файле f все слова, слева направо и наоборот читаются одинаково и составить из них новый...

Дано слово р и файл f. Найти в файле f все слова, которые можно составить из букв слова р
Дано слово р и файл f. Найти в файле f все слова, которые можно составить из букв слова р.

В файле F найти все слова, встречающиеся более 1 раза, изьять их из файла F и поместить текст в новый файл G
Помогите, пожалуйста разобрать программу с 13 по 26 строку(немного не понятно)!!! Задание:в файле...

4
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
4689 / 3362 / 3985
Регистрация: 05.06.2014
Сообщений: 16,792
28.04.2016, 13:03 2
Начните с:
http://www.cyberforum.ru/post2547845.html
0
silver47
0 / 0 / 0
Регистрация: 11.11.2015
Сообщений: 2
16.07.2016, 18:35 3
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
var word1:string; txt:text; resultate:text;pal:boolean;
 
function Palindrom(s: string): boolean;
var 
  i, dlin_slova: byte;
  flag: boolean;
begin
  dlin_slova := length(s); 
  i := 1;
  flag := true; 
  while (i <= dlin_slova div 2) and flag do
  begin
    if s[i] <> s[dlin_slova - (i - 1)] then
      flag := false;
    inc(i)
  end;
  Palindrom := flag;
end;
procedure scan(w:string; pal:boolean);
begin
Pal:=palindrom(w);
if Pal=true then
Writeln(resultate, word1);
end;
begin
 
Assign(txt, 'input.txt');
Reset(txt);
Assign(resultate, 'output.txt');
Rewrite(resultate);
repeat
if Eof(txt)=false then
begin
Readln(txt, word1);
scan(word1, Pal);
end;
until Eof(txt)=True;
Close(txt);
Close(resultate);
end.var
  word1: string; txt: text; resultate: text;pal: boolean;
 
function Palindrom(s: string): boolean;
var
  i, dlin_slova: byte;
  flag: boolean;
begin
  dlin_slova := length(s); 
  i := 1;
  flag := true; 
  while (i <= dlin_slova div 2) and flag do
  begin
    if s[i] <> s[dlin_slova - (i - 1)] then
      flag := false;
    inc(i)
  end;
  Palindrom := flag;
end;
 
procedure scan(w: string; pal: boolean);
begin
  Pal := palindrom(w);
  if Pal = true then
    Writeln(resultate, word1);
end;
 
begin
  
  Assign(txt, 'input.txt');
  Reset(txt);
  Assign(resultate, 'output.txt');
  Rewrite(resultate);
  repeat
    if Eof(txt) = false then
    begin
      Readln(txt, word1);
      scan(word1, Pal);
    end;
  until Eof(txt) = True;
  Close(txt);
  Close(resultate);
end.
Слова на проверку записывать в файл 'input.txt', в формате:
Кликните здесь для просмотра всего текста
Слово
два
три
палка

Проверенные слова-палиндромы появятся в файле 'input.txt'.
В основе чужой код.
0
Cyborg Drone
Модератор
5876 / 3459 / 2556
Регистрация: 17.08.2012
Сообщений: 11,117
16.07.2016, 20:34 4
silver47, это ветка форума Pascal ABC.NET.

Наверное, лучше и уместнее применить ABC.NEN-овские вещи типа Split, ToArray, Reverse... Я бы написал, да вот беда: не силён я в методах для последовательностей.

Тогда бы, полагаю, решение заняло всего одну или две строки кода.
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
27200 / 18190 / 7203
Регистрация: 22.10.2011
Сообщений: 32,059
Записей в блоге: 6
18.07.2016, 11:36 5
Лучший ответ Сообщение было отмечено Cyborg Drone как решение

Решение

Что-то типа:
Pascal
1
2
3
4
5
begin
  WriteAllLines('d:\test\output.txt',
      ReadAllLines('d:\test\input.txt', System.Text.Encoding.UTF8).Where(s -> s = ReverseString(s)).ToArray(),
      System.Text.Encoding.UTF8);
end.
, если слова записаны по одному на строке. Если нет - то придется добавить еще ToWords, и читать из исходного файла не построчно, а весь текст сразу:
Pascal
1
2
3
4
5
begin
  WriteAllLines('d:\test\output.txt',
      ReadAllText('d:\test\input.txt', System.Text.Encoding.UTF8).ToWords(' ,.!?'.ToCharArray()).Where(s -> s = ReverseString(s)).ToArray(),
      System.Text.Encoding.UTF8);
end.
(разделителей слов можно добавить при необходимости)
1
18.07.2016, 11:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2016, 11:36

Найти в текстовом файле слова-палиндромы и записать их в новый файл
Найти в данном файле слова палиндромы и записать их в новый файл (палиндромы - слова, читаются...

Найти в текстовом файле слова-палиндромы и записать их в новый файл
Добрый день! Очень нужна помощь! Напишите основной код, остальное допишу. Спасибо! Добавлено...

Найти в заданном тексте, состоящем из n строк, все слова палиндромы и числа палиндромы
Сроки жутко горят :( поэтому надеюсь на вашу помощь: Задача: Найти в заданном тексте, состоящем...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru