С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Владислав15
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 11
1

Скопіювати з файлу F1 в файл F2 всі рядки, які не містять слова, яке починається за задану літеру

30.11.2014, 11:18. Просмотров 328. Ответов 1
Метки нет (Все метки)

Скопіювати з файлу F1 в файл F2 всі рядки, які не містять слова, яке починається за задану літеру. Визначте найкоротше слово у файлі F2.Текстовий файл F1 має містити не менше 10 рядків.

ХІд моїх думок такий
Delphi
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
var i,j,k,shlth:integer;     
      letter:char;
      name,minword,s1,x,x1:string;     
      f1,f2:text;     
      f:boolean;     
      arr:array [1..100] of string; 
label 1;   
 
begin 
writeln('Введіть імя файлу введення:'); 
readln(name); 
assign(f1,name); reset(f1); 
writeln('Введіть імя файлу виводу:'); 
readln(name); 
assign(f2,name); rewrite(f2);
writeln('Введіть букву для пошуку:');
readln(letter); 
letter:=lowercase(letter); 
 j:=1;   
 
while not eof(f1) do 
begin   
readln(f1,x1);   
x:=lowercase(x1);   
i:=1;   
while (i<=length(x)) and (x[i] <> letter) do   
 begin     
  while (i<=length(x)) and (x[i] = ' ') do inc(i);     
  if (i<=length(x)) and (x[i] <> letter) then       
   while (i<=length(x)) and (x[i] <> ' ') do inc(i);  
 end;     
 if i>length(x) then
  begin
   writeln(f2,x1);
   arr[j]:=x1;   
   inc(j);   
  end; 
end;   
 
f:=false; 
for k:=1 to j do 
begin   
 i:=1;   
 while (i<=length(arr[k])) and (arr[k][i] = ' ') and not f do inc(i); 
 if i<length(arr[k])+1 then begin f:=true; goto 1; end; 
end;   
 
1: if not f then writeln('У файлі f2 немає слова, відповідного умові вибору') else 
begin
 while (arr[k][i]<>' ') and (i<=length(arr[k])) do
  begin 
  minword:=minword+arr[k][i]; 
  inc(i); 
  end;  
 for k:=1 to j do 
 begin  
  i:=1;  
  while i<=length(arr[k]) do  
   begin    
   while (i<=length(arr[k])) and (arr[k][i] = ' ') do inc(i);
   if i<=length(arr[k]) then begin shlth:=1; s1:=arr[k][i]; end;
   while (i<=length(arr[k])) and (arr[k][i] <> ' ') do begin s1:=s1+arr[k][i]; inc(i); inc(shlth);  end;
   if shlth<length(minword) then minword:=s1;
   end;
 end; 
writeln('Найкоротша слово у файлі f2: ',minword); 
end;     
  
close(f1); close(f2); 
end.
Але вибиває помилку.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2014, 11:18
Ответы с готовыми решениями:

Дано текстовий файл. Переписати в інший файл у порядку, зворотному результату, всі рядки першого файлу, розвернувши в них усі слова на 80 градусив
Дано текстовий файл. Переписати в інший файл у порядку, зворотному результату, всі рядки першого...

Дана прямокутна цілочисельна матриця. Визначити : - кількість стовпців, які містять хоча б один нульовий елеме
Дана прямокутна цілочисельна матриця. Визначити : - кількість стовпців, які містять хоча б один...

На заданому інтервалі знайти всі число Фібоначчі, які є простими числами
На заданому інтервалі знайти всі число Фібоначчі, які є простими числами.

По файлу, содержащему строки-слова, получить первоначальный файл, в котором слова разделены пробелом
Пусть дан текстовый файл. В новый файл перенисите кажде слово как отдельную строку. Переход к новой...


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

Или воспользуйтесь поиском по форуму:
1
FIL
30.11.2014, 16:37     Скопіювати з файлу F1 в файл F2 всі рядки, які не містять слова, яке починається за задану літеру
  #2
 Комментарий модератора 
Владислав15, официальными языками форума являются русский и английский языки.
Напиши задание на одном из них.
И не дублируй темы.
0
Ответ Создать тему
Опции темы

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