Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 07.12.2010
Сообщений: 61
1

Количество прочитанных слов

16.08.2018, 11:49. Показов 1135. Ответов 3
Метки нет (Все метки)

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
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
unit ustroka;
{$mode objfpc}{$H+}
interface
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
  { TForm1 }
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    Memo2: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
var
  Form1: TForm1;
  ft:textfile;
  Ms:array[1..100] of string;
  s:string;
  kols:integer;
implementation
{$R *.lfm}
{ TForm1 }
 
procedure TForm1.FormCreate(Sender: TObject);
begin
    form1.Memo1.Clear;
    form1.Memo2.Clear;
    form1.Edit1.Clear;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var k:integer;
begin
      Assignfile(ft,'flow.txt'); // файл цветов мы создали
      Reset(ft);   //   Открытие файла на чтение:
      K:=0;        // количество строк; s- строка
    While not eof(ft) do  // чтение, пока не конец файла
    Begin
        Readln(ft,s);           //       - чтение строки в s
      //  If eof(ft) then break;  //       - прерывание цикла по концу файла
        Inc(k);                 //       - увеличение счетчика на 1
       Ms[k]:=s;                //       - запись в массив
       Form1.Memo1.Lines.Add(s); //      - запись в Memo
    End;
    closefile(ft);       // - закрытие файла
    Kols:=k;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var st:string;
    i,n:integer;
begin
      St:=Form1.Edit1.Text; // - выбираем буквосочетание из Edit
    Form1.Memo2.Clear;      // - очищаем Memo2
    For i:=1 to kols do
    Begin
       n:=pos(st,ms[i]);  // - если n<>0, то n равно номеру позиции буквосочетания
       If (n<>0) then
       Begin
          Form1.Memo2.Lines.Add(ms[i]); // - заносим слово в Memo2
       End;
    End;
 
end;
 
 
end.

Необходимо при чтении файла в Memo1 после всех слов вывести строку с сообщением о количестве прочитанных слов, например:
«Прочитано 10 слов».
При поиске в Memo2 тоже вывести сообщение:
«Найдено 5 слов»
Для вывода этих сообщений необходимо воспользоваться командами перевода целых чисел в символьный вид:
Sk:=inttostr(k); - sk – строка, k- целое число.
Кроме того нужно для получения результата сложить отдельные части
результирующей строки, например: s:=s+s1+s2;


ПОМОГИТЕ!!!!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2018, 11:49
Ответы с готовыми решениями:

Нужно, чтобы счетчик прочитанных байтов при каждой итерации увеличивался на число прочитанных байт
нужно вот что: while (read(f_desc, buffer, 10)) но при этом нужно, чтобы счетчик прочитанных...

Процедура ReadFile не передает количество прочитанных байт
Здравствуйте. Не пойму почему процедура ReadFile не передает количество прочитанных байт. BOOL...

Найти количество лекций, прочитанных преподавателем по данному предмету
Помогите пожалуйста написать задачу. Сведения о проведении одного занятия состоят из вида...

Как изменить код чтобы он отображал количество прочитанных байт
В книге есть код H = waitbar(0); For i=1:100 S=int2str(i); S=strcat(s,'%'); For j=1:1000000...

3
Модератор
9256 / 6034 / 2379
Регистрация: 21.01.2014
Сообщений: 25,795
Записей в блоге: 3
16.08.2018, 12:08 2
Oxanoch_ka:
1. Прикрепите сюда пример файла
2. Озвучьте задание точно и полно, без своих домысливаний, а так, как Вы его получили.
0
3 / 3 / 0
Регистрация: 07.12.2010
Сообщений: 61
16.08.2018, 12:12  [ТС] 3
Вот такое задание!
Вложения
Тип файла: doc lekcia2_stroki.doc (52.0 Кб, 6 просмотров)
0
Модератор
9256 / 6034 / 2379
Регистрация: 21.01.2014
Сообщений: 25,795
Записей в блоге: 3
16.08.2018, 15:38 4
Лучший ответ Сообщение было отмечено Oxanoch_ka как решение

Решение

Бедные дети Какой косорукий неуч делал эту "методичку"?
Oxanoch_ka, все намного проще... Если за час никто не ответит - напишу, как до дома доберусь...

Добавлено через 2 часа 49 минут
Вот, что у меня получилось...
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
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    Memo2: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
//В момент создания формы очищаем все поля ввода
procedure TForm1.FormCreate(Sender: TObject);
begin
 Memo1.Lines.Clear;
 Memo2.Lines.Clear;
 Edit1.Clear;
end;
 
//Загружаем файл в Мемо1 и считаем количество прочитанных слов
//которое = числу строк файла
procedure TForm1.Button1Click(Sender: TObject);
var n: integer;
begin
 Memo1.Lines.LoadFromFile('flow.txt'); //Сюда подставите нужное имя файла, лучше всего с путем
 n := Memo1.Lines.Count; //Получили количество строк = количеству слов
 Memo1.Lines.Add('Прочитано слов: ' + IntToStr(n)); //Добавили в Мемо1 информацию о количестве прочитанных слов
end;
 
//Ищем буквосочетания
procedure TForm1.Button2Click(Sender: TObject);
var i, n: integer;
begin
//Проверим, ввели что-то в поле ввода или нет. Если нет - ругаемся и выходим
  if Length(Trim(Edit1.Text)) = 0 then
   begin
     ShowMessage('Не введено буквосочетание для поиска!');
     Exit;
   end;
  n := 0;
//Ищем нужное буквосочетание во всех строках файла
//если найдено - копируем строку м Мемо2
  for i := 0 to Memo1.Lines.Count - 1 do
   if Pos(Edit1.Text, Memo1.Lines[i]) > 0 then Memo2.Lines.Add(Memo1.Lines[i]);
  n := Memo2.Lines.Count;  //Считаем, что у нас получилось
  Memo2.Lines.Add('Отобрано слов: ' + IntToStr(n)); //Добавляем информацию в Мемо2
end;
 
end.
Миниатюры
Количество прочитанных слов  
1
16.08.2018, 15:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.08.2018, 15:38
Помогаю со студенческими работами здесь

Найти количество слов в словаре, если известно количество страниц, количество слов на странице и средняя длина слова
помогите с программой, которая выполняет эти расчеты: В русско-английском словаре 948 страниц, на...

Найти количество слов содержащих только символы латинского алфавита, а среди них количество слов с гл. и согл
Найти количество слов содержащих только символы латинского алфавита, а среди них количество слов с...

Дан текст, найти количество слов и количество слов, у которых первый и последний символ совпадают
Помогите пожалуйста, выполнить задание. Дан текст из N символов. Группы символов, расположенные...

Вводить слова с клавиатуры, вывести на экран количество слов и количество слов с гласной буквы
Всем привет! Есть код, суть: вводить слова с клавиатуры, вывести на экран количество слов и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru