![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Ребята, прошу помочь!
Написала прогу, а она у меня всегда выводит не то, что нужно. Не подскажете, что не так? Код и условие задачи в файле. (Особо строго не судите, я новичок-самоучка, только осваиваюсь) |
|
#2
|
||||
|
||||
|
Код:
var
str,s,i:string;
k,n:integer;
bool:boolean;
begin
str:=Edit1.Text;//строка
i:=Edit3.Text;//символ
bool:=false;
for k:=1 to length(str) do
begin
if str[k]=' ' then
begin
s:=copy(str,1,k-1);//все таки начинать надо было с 1)))
if length(s)=StrToInt(Edit2.Text) then
begin
for n:=1 to length(s) do
begin
if s[n]=i then
begin
bool:=true;
break; //если нашли, то выходим из цикла
end;
end;
end;
end;
end;
if bool=true then
showmessage('Даа')
else showmessage('Нэт!');
end; |
|
#3
|
|||
|
|||
|
Да, надо для всех слов. Поэтому я, по существу, и обратилась.
Последний раз редактировалось Broken Angel, 10.04.2011 в 17:31. |
|
#4
|
||||
|
||||
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
private
function findsymbolinstring(ourstring:string;oursymbol:string):boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function TForm1.findsymbolinstring(ourstring:string;oursymbol:string):boolean;
var
meter:integer;//счетчик для цикла в функции
funcbool:boolean;
begin
funcbool:=false;
for meter:=1 to length(ourstring) do
begin
if ourstring[meter]=oursymbol then
begin
funcbool:=true;
break;
end;
end;
result:=funcbool;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str,s,i:string;
k:integer;
bool:boolean;
begin
str:=Edit1.Text;
i:=Edit3.Text;
bool:=false;
s:='';
begin
for k:=1 to length(str) do
begin
if str[k]=' ' then
begin
if strtoint(edit2.text)=length(s) then
begin
bool:=findsymbolinstring(s,i);
if bool=true then
begin
break;
end;
end;
s:=''; //нашли пробел - обнуляем строковую переменную
end;
if k=length(str) then
begin
if strtoint(edit2.text)=length(s)+1 then
begin
bool:=findsymbolinstring(s+str[k],i);
if bool=true then break;
end;
end;
if k<>length(str) then
if str[k]<>' ' then
s:=s+str[k];
end;
end;
if bool=true then
showmessage('Даа')
else
showmessage('Нэт!');
end;
end.Цитата:
|
|
#5
|
|||
|
|||
|
Огромнейше благодарю.
![]() |