19.05.2011, 00:54 | #1 (permalink) |
Новичок
Регистрация: 19.05.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите пожалуйста со строками в Pascal
|
19.05.2011, 00:54 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Может быть в аналогичных темах есть интересующие вас ответы Пожалуйста, помогите написать программку. Pascal Free Ребят, помогите, пожалуйста, с Pascal Помогите, пожалуйста, решить три задачи по Pascal |
20.05.2011, 17:29 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
VAR S:String; i,j,Nw,i1,i2,Nt,Nw1:Integer; W,W1:Array[1..128] of String; times:Array[1..128] of Byte; b:Boolean; f:text; BEGIN { Ввод строки } WriteLn('Enter the string:'); ReadLn(S); { Разбиение строки на слова; слова формируют массив W } i:=0; Nw:=0; Repeat Repeat Inc(i); Until S[i]<>' '; i1:=i; While (S[i]<>' ') and (i<Length(S)) do Inc(i); If i=Length(S) then i2:=i else i2:=i-1; Inc(Nw); W[Nw]:=Copy(S,i1,i2-i1+1); Until i=Length(S); { Ввод количества повторений } Write('How many times? '); ReadLn(Nt); { Формирование массивов W1 и times; первый содержит перечень слов, входящих в строку, БЕЗ ПОВТОРОВ, а второй - количество повторов каждого из слов в исходной строке } Nw1:=0; For i:=1 to Nw do begin b:=true; for j:=1 to i-1 do if W[j]=W[i] then b:=false; If b then begin Inc(Nw1); W1[Nw1]:=W[i]; times[Nw1]:=0; for j:=i to Nw do if W[j]=W1[Nw1] then Inc(times[Nw1]); end; end; { Открытие файла для записи } Assign(f,'D:\Out.txt'); ReWrite(f); Writeln(f,S); { Вывод на экран и в файл слов исходной строки, не повторяющихся заданное количество раз } For i:=1 to Nw do begin b:=true; for j:=1 to Nw1 do if (W[i]=W1[j]) and (times[j]=Nt) then b:=false; If b then if i<Nw then begin Write(W[i]+' '); Write(f,W[i]+' '); end else begin Write(W[i]); Write(f,W[i]); end; end; Writeln; Writeln(f); Close(f); Readln END. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|