Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2018, 01:31   #1
jorjanoo
Пользователь
 
Регистрация: 22.12.2018
Сообщений: 11
По умолчанию Программа, которая определяет количество слов заданной длины

Вот хоть убейте, до последнего не могу найти код, прошу вот помощи.
jorjanoo вне форума Ответить с цитированием
Старый 22.12.2018, 01:42   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от jorjanoo Посмотреть сообщение
до последнего не могу найти код
Его написать надо.
Начните решать задачу самостоятельно. Если что-то не будет получаться, показывайте то, что сделали, задавайте конкретные вопросы.
Вадим Мошев вне форума Ответить с цитированием
Старый 23.12.2018, 18:54   #3
jorjanoo
Пользователь
 
Регистрация: 22.12.2018
Сообщений: 11
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    procedure Edit1Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit1.MaxLength := 30 ;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
    str: string;
    i, count: byte;
    flag: boolean;
begin
    readln(str);
    count := 0;
    flag := false;
    for i:=1 to length(str) do begin
        if (str[i] <> ' ') and (flag = false) then begin
            count := count + 1;
            flag := true;
        end
        else
            if str[i] = ' ' then
                flag := false;
    end;
    writeln(count);

   end;
end.
jorjanoo вне форума Ответить с цитированием
Старый 23.12.2018, 18:58   #4
jorjanoo
Пользователь
 
Регистрация: 22.12.2018
Сообщений: 11
По умолчанию

Вот скрины ошибок
Изображения
Тип файла: jpg delphi32_2018-12-23_18-57-03.jpg (54.9 Кб, 121 просмотров)
Тип файла: jpg delphi32_2018-12-23_18-57-12.jpg (49.1 Кб, 121 просмотров)
jorjanoo вне форума Ответить с цитированием
Старый 23.12.2018, 19:19   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Не чего в оконном приложении консольный формат команд readln и writeln использовать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 23.12.2018, 19:33   #6
jorjanoo
Пользователь
 
Регистрация: 22.12.2018
Сообщений: 11
По умолчанию

офк я понял ошибку, ахахах
jorjanoo вне форума Ответить с цитированием
Старый 23.12.2018, 19:36   #7
jorjanoo
Пользователь
 
Регистрация: 22.12.2018
Сообщений: 11
По умолчанию

Нашел другой вар, но при компиляции выходит ошибка
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    procedure Edit1Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit1.MaxLength := 30 ;
end;

procedure TForm1.Button1Click(Sender: TObject);
Function GetWordsCountWithFixedLength(S:String; N: integer):integer;
var
	SL: TStringList;
	I: Integer;
begin
	SL:=TStringList.Create;
	SL.Delimiter:=' ';
	SL.DelimitedText:='Мой текст';
	Result:=0;
	for I:=0 to SL.Count-1 do
		if length(SL[I])=N then Inc(Result); 
end;


end.
jorjanoo вне форума Ответить с цитированием
Старый 23.12.2018, 22:42   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от jorjanoo Посмотреть сообщение
Нашел другой вар,
Вас на лекциях по программированию только искать чужой код учили, программировать не учили? ;(

ладно. раз у Вас такая любовь к чужому коду, то попробуйте такой:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;


var
  Form1: TForm1;

implementation

{$R *.dfm}

Function GetWordsCountWithFixedLength(S:String; N: integer):integer;
var
	SL: TStringList;
	I: Integer;
begin
	Result:=0;
	SL:=TStringList.Create;
	SL.Delimiter:=' ';
	SL.DelimitedText:=S;
	for I:=0 to SL.Count-1 do
		if length(SL[I])=N then Inc(Result);
        SL.Free;         
end;


procedure TForm1.Button1Click(Sender: TObject);
var 
  FindLength : integer; {для искомой длины слова}
begin
   FindLength := 5; {считаем слова длиной 5 символов}

   Label1.Caption := 'В строке Edit1 '+
                     IntToStr(GetWordsCountWithFixedLength(Edit1.Text, FindLength ))+
                     ' слов длиной ровно '+IntToStr(FindLength)+' символов.';

end;


end.
p.s. не проверял.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.12.2018, 22:47   #9
jorjanoo
Пользователь
 
Регистрация: 22.12.2018
Сообщений: 11
По умолчанию

Спасибо конечно), Но знаешь у нас было 4 лекционных занятия) Позже была фраза, не знаете спрашивайте, окей подумал я , спрошу, но нет, после сразу были отговорки мол в инете ищите и в заданиях все написано. Но лол, видел бы ты задачники, мб я реально на столько отстал, но написано в них максимально не понятно.
jorjanoo вне форума Ответить с цитированием
Старый 23.12.2018, 22:51   #10
jorjanoo
Пользователь
 
Регистрация: 22.12.2018
Сообщений: 11
По умолчанию

Да, код рабочий, теперь буду искать, офк надо самому задавать длину искомых слов, через прогу) Спасибо

Последний раз редактировалось jorjanoo; 23.12.2018 в 23:00.
jorjanoo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Создать функцию, которая определяет количество делителей у числа ggjgj Помощь студентам 2 14.02.2017 21:17
помогите сделать - программа выводит текст на экран, определяет количество предложений и количество слов (язык С) карен1 Фриланс 4 26.12.2013 21:35
Программа, которая для вводимого текста (строки) подсчитывает количество слов, разделенных пробелами yuyuli Помощь студентам 2 18.04.2012 08:15
Программа которая подсчитает количество слов в тексте Мария Сафонова Помощь студентам 5 28.03.2011 07:42